Иногда бывает полезно скрывать «пустые» функциональные страницы на основе шаблона от глаз клиентов, например страница корзины в интернет-магазине.
Реализовать это довольно легко — вставкой нескольких строк кода в functions.php текущей темы.
Вот общее решение, работает для записей, страниц и любых произвольных типов постов, не забудьте указать через запятую ID постов\страниц, которые нужно скрыть.
function true_hide_posts_from_admin( $query ) { global $pagenow; if( is_admin() && 'edit.php' == $pagenow ){ $query->set( 'post__not_in', array(9,54) ); // через запятую указываем ID постов или страниц, которые хотим скрыть } return $query; } add_action( 'pre_get_posts' ,'true_hide_posts_from_admin' );
Если хотите, чтобы функция применялась например только для страниц, модифицируем её следующим образом:
function true_hide_pages_from_admin( $query ) { global $pagenow; if( is_admin() && 'edit.php' == $pagenow && 'page' == get_query_var('post_type') ){ // в качестве 'page' в условии можно указать любой произвольный тип постов $query->set( 'post__not_in', array(300,271) ); // через запятую прописываем ID страниц, которые хотим скрыть } return $query; } add_action( 'pre_get_posts' ,'true_hide_pages_from_admin' );
Доступ к скрытым постам по-прежнему можно получить по прямым ссылкам.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
А как скрыть для всех пользователей ?
немного некорректный вопрос, т.е как скрыть конкретные записи вообще везде и от всех?
Да, именно
как-то так:
Благодарю за пример! Удачи!
Спасибо, интересная статья. Но вот меня мучает такой вопрос: Я хочу сделать дневник на сайте в виде галереи из картинок. При нажатии например на нужную картинку сразу попадашь на нужную страницу с записью. И при этом эту галерею нужно скрыть потому, что она получается белым пятном в слайдере. Так как у меня тема поддерживает слайдер и он выводит последние записи в виде миниатюр.
Сорри, что-то не совсем уловил суть.
Здравствуйте. Очень полезной оказалась функция фильтрации. Но у записи есть комментарии, и они появляются в ленте новых комментариев (которую ликвидировать не хочется). Подскажите, как (после отфильтровки нужной записи) ещё убрать из ленты новых коментариев комментарии конкретной к отфильтрованной записи (то есть с главной страницы)? Спасибо.
Добрый день!
Ну комменты через какую функцию у вас выводятся?
Спасибо за статью, правда я когда зашел на нее думал именно расказываться как cкрыть oтображение cтраниц в админкe cайта, чтобы их там не видно было. Это можно как то реализовать? Доступ в aдминку есть у многих, но не хочется чтобы были видны и была возможность у них редактировать нужные страницы/записи
Возможно это поможет вам: truemisha.ru/blog/wordpress/block-admin-pages.html.