Задать вопрос
Ответы пользователя по тегу WordPress
  • Как правильно написать аналогичный хук wordpress?

    @konchychp Автор вопроса
    fullstack developer; founder of IT solution
    Ну кому может быть интересно мое решение (подозреваю что это костыль конечно) -> но я писал что в wordpress я ничего не понимаю - так что вот пожалуста!

    1. Function.php -> активной темы

    function redirect_st(){
    if( strstr(strtolower($_SERVER['REQUEST_URI']), "/visit-zerkalo")){
            $detect = new Mobile_Detect;
            if ( $detect->isMobile() or $detect->isTablet()) {
                header("Location: example.com", TRUE, 301);
            }
            else {
                require get_template_directory() .'/zaglushka.php'; die;
            }
    }
    else {
        return true;
    }
    }
    function redirect_zaglushka(){ 
    
    if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "yandex") 
        or strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot")
        or strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "bingbot")
        or strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "duckduckbot")
        or strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "slurp")
        or strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "ia_archiver")
        or strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "facebot")
        or strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "facebookexternalhit")
        or strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "konqueror")
        or strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "exabot")){
        return true;
    }
    else { 
        require get_template_directory() .'/zaglushka.php'; die;
    }
    }
    add_action('redirect_hook' , 'redirect_st');
    do_action('redirect_hook');
    // привяжем функцию к хуку
    add_action( 'my_hook', 'redirect_zaglushka' );
    // выполним хук
    do_action('my_hook');

    2. wp-load.php -> absolute path

    require_once ABSPATH . 'Mobile_Detect.php';
    3. файл заглушки добавляем в корень темы активной

    4. на всякий случай я так же поключил файл класса Mobile_Detect.php в корневой индекс
    Ответ написан