Надеюсь, мне не придется писать определение того, что такое статусы записей в WP. Лучше я приведу вам много примеров и покажу, как с ними работать.
Каждый пост (вне зависимости от типа, будь то запись, страница или что-то ещё) в WordPress имеет свой статус. Например у опубликованных записей, которые доступны для каждого, статус publish
, у черновиков статус draft
. Значение статуса хранится в базе данных в табице wp_posts
в колонке post_status
.
По умолчанию в WordPress имеется 8 статусов постов. Рассмотрим каждый из них:
publish
— опубликованный пост. Доступен на сайте для просмотра каждому. Этот статус присваивается записям при нажатии на кнопку «Опубликовать».
future
— пост, запланированный на публикацию в будущем. Для того, чтобы присвоить записи этот статус, устанавливаем время публикации, которое ещё не наступило и нажимаем кнопку «Запланировать».
draft
— черновики (записи, которые ещё находятся в процессе написания и не готовы к публикации). Для создания черновика нажмите кнопку «Сохранить».
pending
— пост, ожидающий проверки редактором или администратором. Все записи пользователей с ролью «Участник» отправляются на модерацию.
private
— посты, доступные для просмотра и редактирования только администраторам.
trash
— посты, находящиеся в корзине. Для того, чтобы переместить пост в корзину, нажмите на ссылку «Удалить».
auto-draft
— черновики, которые создаются автоматически в процессе редактирования постов.inherit
— этот статус присваивается всем вложениям, а также редакциям записей.В версии движка WordPress 3.0 появилась функция register_post_status(), позволяющая регистрировать свой собственный статус постов. Пока что возможности этой функции сильно ограничены, возможно в новых версиях WordPress появится что-то интересное.
В следующем примере создадим статус «unread» (не прочитано). Как видите, функция должна подключаться к хуку init
.
function true_status_unread(){ register_post_status( 'unread', array( 'label' => 'Не прочитано', 'public' => true ) ); } add_action( 'init', 'true_status_unread' );
Больше примеров смотрите в документации функции register_post_status().
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Как через functions.php для post_status == 'private' прицепить функции wp_dequeue_script и remove_action?
К странице сайта или к админке?
Привет, к странице сайта. В личные страницы стучатся яндекс и google, получают 404 в ответ. Хочу на функцию вывода скриптов аналитики повесить remove_action, не получается условие записать:
Может вызвать:
Сделал, спасибо) Почему ты не подключил комментарии соц.сетей или cracle/disqus, какая у тебя на этот счёт позиция?
Много работал над созданием этой системы Ajax-комментирования, было бы жаль её убирать :)
Интересная статья. Подробнее бы узнать про хуки, свазанные со статусами постов
Пожалуйста, узнавайте :)
Система комментариев кстати шедевр, хорошо работает, без обновлений страницы
Благодарю )