WordPress как на ладони
wordpress jino

Как добавить условие на «статус» и «видимость» страниц WordPress?

В WordPress для записей и страниц есть 3 статуса: опубликовано, на утверждении, черновик; и 3 видимости: открыто, защищено паролем и личное.
К сайту подключены Google Analytics и Яндекс Метрика.
Я использую несколько личных страниц, к которым постоянно стучатся Google и Яндекс, и естественно получают в ответ 404.

Как через functions.php правильно записать условие на проверку статуса и видимости, наподобие

if($post_status == 'private') { 
	wp_dequeue_script(  ); 
	remove_action(  ); 
}

Спасибо за помощь!

0
llgruff42 2.5 года назад
  • 0
    campusboy1951 cайт: www.youtube.com/c/wpplus

    Не понятно, как Яндекс их вообще видит, так как личные страницы видны только автору. Как вариант, прописать запрет индексирования в robots.txt. А счетчик обернуть в условие, в котором проверяется какая страница (ID или её статус).
    P.S.: Яндекс сам по себе не знает о существования страниц значит на сайте на них ссылаются. Так как такую страницу видит только автор, можно поставить условие следующее:
    Если автор - показать контент, если нет - какой-либо текст или перенаправление в другое место, тогда 404 ошибки не будет.

    campusboy 2.5 года назад

    `function ps_no_access() {

    Проверяем, авторизован ли пользователь и личная ли запись

    Если НЕ авторизован и это личная запись, то выполнить действие

    if ( !is_user_logged_in() and get_post_status() == "private" ){
    //Здесь любой код, к примеру перенаправление и так далее
    }
    }

    Функция будет срабатывать при загрузке шапки

    add_action( 'wp_head', 'ps_no_access' );`

    Все хуки можно увидеть тут, возможно Вам надо будет делать проверку ещё раньше, к примеру при посылке get_header или даже ещё раньше (там список раскрывающийся с событиями по порядку отработки в движке).

    campusboy 2.5 года назад

    А можно ещё проще. Вставить в шапку или футер:
    ``
    <?php
    if ( !is_404() ) { ?>
    Здесь код счётчика
    <?php } ?>

    
    						
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.

Автоматизированная актуализация базы данных

автоматизированная актуализация базы данных

www.okcall.ru