Поддержка Плагины Не работает is_page

  • Пишу плагин который должен проверять на какой странице находится пользователь и если страница соответствует заданной в настройках и пользователь находится не под аккаунтов который тоже был задан в настройках плагина. И у меня возникла проблема с проверкой на какой странице находится пользователь а именно с функцией is_page.

Просмотр 15 ответов — с 1 по 15 (всего 34)
  • Модератор Yui

    (@fierevere)

    ゆい★ღツ

    код надо показать раз спрашиваете почему он не работает

    https://developer.wordpress.org/reference/functions/is_page/
    https://wp-kama.ru/function/is_page

    Yui,

    
    if ( is_page($secpage) ) {
           if ( $user->user_login !== $secuser ) {
    	    wp_redirect($pernana);
    }
        }
           }
    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Предполагаю, что проверка выполняется слишком рано.

    Условные теги работают только после выполнения основного запроса — например, в привязке к действию wp или template_redirect.

    Sergey Biryukov, оно начало не работать после небольших изменений.
    А именно раньше там была определенная страница написана, а сейчас переменная и после того что я изменил страницу на переменную оно перестало работать.

    Модератор Yui

    (@fierevere)

    ゆい★ღツ

    а переменная корректно установлена перед ее проверкой?

    Yui, да, тут не в переменной дело.

    • Ответ изменён 2 нед., 4 дн. назад пользователем  maks12345.

    изменили переменную — перестало работать.
    и дело не в переменной, ага?

    имхо как 100%, что в ней.
    вардампом посмотрите, что там в вашей переменной забито.

    Flector, я после этого пробовал и без переменной и оно все равно не работало не работало.

    работало без переменной.
    сделали переменную — не работает.
    и теперь говорите, что без переменной тоже не работает.

    спрашивается — ну и что изменилось, когда работало?

    Flector, не знаю.

    уверены, что страница, а не запись?
    то есть is_page, а не is_single?

    Fledtor, это страница.

    ну начните с простого:

    
    if ( is_page(22) ) {
        echo 'test433';
    }
    

    и смотрите — появилось ли ‘test433’.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    после того что я изменил страницу на переменную оно перестало работать

    Какие значения имеют переменные $secpage, $secuser, $pernana в этом месте? Можно проверить с помощью echo или var_dump().

    Sergey Biryukov, с переменными все нормально

Просмотр 15 ответов — с 1 по 15 (всего 34)