Скрываем отдельную запись в WordPress отовсюду: из анонса, категории, локального поиска, RSS

Скрываем отдельную запись в WordPress отовсюду: из анонса, категории, локального поиска, RSSПриветствую, дорогие посетители.
Если у вас возникла задача скрыть запись (пост, новость) из общего анонса статей, категории, локального поиска и RSS, но при этом она должна быть доступна по ссылке, то прочтя данный материал, вы сможете реализовать задуманное.

Данная возможность, к примеру, пригодится в случае, если текст будущей статьи уже написан, а картинки ещё не подоспели или не готовы. В данной ситуации самым логичным будет разместить такую статью, чтобы поисковые системы её проиндексировали, а когда картинки будут подготовлены и размещены, просто добавить их в материал и отобразить запись.

У вас может возникнуть вопрос, как же интернет поисковики узнают о новой статье, если на сайте она нигде видна не будет. Многие вебмастера создаюти используют карту сайта, ссылку на которую прописывают в файле robot.txt и\или добавляют в сервисы для вебмастеров, которые предлагают сами поисковые системы. В карте сайта ссылка на «скрытую» статью будет прописана, благодаря чему поисковые системы проиндексируют материал.

Варианты скрытия записи в редакторе WordPress

Штатно WordPress не позволяет это сделать – статью можно либо скрыть полностью с сайта (она не будет доступна никому), либо разрешить её просмотр только после ввода пароля.

Однако при использовании кода, который вписывается в файл functions.php используемой вами темы, вполне можно реализовать вышеописанный функционал.

function exc_post($query) {
if ($query->is_category || ($query->is_home || ($query->is_feed)))
{$query->set('post__not_in', array(381, 390) );} // в скобочках id поста (записи)
return $query; }
add_filter('pre_get_posts','exc_post');

Впишите в файл functions.php (перед изменением не забудьте сделать резервную копию) приведённый код. В приведённом примере скрываются записи под номером 381, 390. В вашем случае, естественно, номера записей и их количество может и, скорее всего, будет другим.

Узнать номер записи, под которым идёт та или иная статья, предельно просто. Для этого необходимо в админ панель перейти в раздел Записи и либо навести курсор и подчеркнуть номер в отобразившейся ссылке-подсказке, либо открыть статью на редактирование и увидеть номер в адресной строке.

Узнаём номер статьи

Особо радует, что этот короткий код не влияет на скорость сайта и полностью выполняет возложенные на него обязанности. Однако если вам приходится часто скрывать\отображать страницы, то удобным решением станет использование плагина.

Удивительно, но в официальном репозитории плагинов WordPress жуткий дефицит решений, реализующий данный функционал. Из достойных я могу, пожалуй, лишь отметить плагин WP Hide Post.

Ну вот, собственно, и всё, что я хотел вам поведать в данном материале. Если у вас вопросы, немедля излагайте их в комментариях к материалу! :-)