Я создаю серию страниц со встроенными в них iFrames, но кажется, что единственный способ сделать это в WordPress (т. е. с использованием системы шаблонов) — создать страницы в административной части, а затем создать отдельные шаблоны для каждой из этих страниц..
Можно ли скрыть эти страницы от администратора без плагина? Я не вижу необходимости в том, чтобы клиент видел эти страницы, когда он не может ничего на них редактировать.
Спасибо,
осу
вы можете использовать
parse_query
хук фильтра, чтобы исключить ваши страницы, используя атрибут post__not_inэто исключит страницы с идентификаторами 21,22,23
и чтобы убедиться, что эти страницы не будут включены во внешний интерфейс с помощью wp_list_pages, вы можете использовать хук фильтра wp_list_pages_excludes:
Если вы глобализируете
$post_type
, вам не нужно будет ссылаться$_GET
, чтобы проверить тип сообщения (он надежно устанавливается для страниц администратора, в отличие от$typenow
).@ t31os: Спасибо за подсказку, я обновил код.
@Bainternet: Спасибо за хороший код. Но проблема в том, что все, что применимо к любым низшим ролям, также применимо и к высшим ролям. Я добавил
&& current_user_can( 'edit_posts' )
к вашему фрагменту кода, но он также скрывает страницы от роли администратора. 🙁 Я хочу скрыть страницы только от редактора и больше ни от кого. Как мне это сделать?Хорошо, есть решение:
&& current_user_can( 'editor' )
.current_user_can()
также принимает роль администратора. 🙂