Как добавить условие на «статус» и «видимость» страниц WordPress?
В WordPress для записей и страниц есть 3 статуса: опубликовано, на утверждении, черновик; и 3 видимости: открыто, защищено паролем и личное.
К сайту подключены Google Analytics и Яндекс Метрика.
Я использую несколько личных страниц, к которым постоянно стучатся Google и Яндекс, и естественно получают в ответ 404.
Как через functions.php правильно записать условие на проверку статуса и видимости, наподобие
if($post_status == 'private') { wp_dequeue_script( ); remove_action( ); }
Спасибо за помощь!
Не понятно, как Яндекс их вообще видит, так как личные страницы видны только автору. Как вариант, прописать запрет индексирования в robots.txt. А счетчик обернуть в условие, в котором проверяется какая страница (ID или её статус).
P.S.: Яндекс сам по себе не знает о существования страниц значит на сайте на них ссылаются. Так как такую страницу видит только автор, можно поставить условие следующее:
Если автор - показать контент, если нет - какой-либо текст или перенаправление в другое место, тогда 404 ошибки не будет.
Все хуки можно увидеть тут, возможно Вам надо будет делать проверку ещё раньше, к примеру при посылке get_header или даже ещё раньше (там список раскрывающийся с событиями по порядку отработки в движке).
-
А можно ещё проще. Вставить в шапку или футер: