Отключение функционала блогов в WordPress и удаление разделов "Записи"
В настоящее время я использую WordPress для сайта, который будет функционировать исключительно как CMS, а не как блог-платформа. Это означает, что раздел "Записи" в WordPress не нужен. Можно ли как-то отключить его, добавив код в файл functions.php
?
Будет достаточно просто убрать опцию "Записи" из админ-панели wp-admin
.
Записи — это более широкая категория, чем может показаться на первый взгляд. Запись — это любой контент, даже если вы используете WordPress в качестве CMS. Хотя может показаться, что запись — это только пост в блоге, на самом деле это любой опубликованный на сайте материал. Отключение записей приведёт к удалению всего контента. Лучше отключить связанные с блогами функции, такие как комментарии, а затем изменить файлы шаблонов, чтобы убрать упоминания об авторе, дате публикации и т. д., добившись таким образом сайта в стиле CMS.

Это верно с точки зрения базы данных, то есть все хранится в таблице *_posts. Однако API делает различие в виде post_type. Возможно, более четкий способ задать вопрос был бы: "Как отключить тип записи 'post'". Точного решения не знаю, но вряд ли можно его "отменить регистрацию". Лучший вариант — найти хук для отключения стандартного запроса, создаваемого для Цикла.

Я не уверен, что охватываю все места, где функционал записей связан, но добавление следующего кода в functions.php
должно хотя бы удалить ссылки на комментарии из меню администратора, панели инструментов и консоли:
add_action( 'admin_menu', 'remove_admin_menus' );
add_action( 'wp_before_admin_bar_render', 'remove_toolbar_menus' );
add_action( 'wp_dashboard_setup', 'remove_dashboard_widgets' );
function remove_admin_menus() {
remove_menu_page( 'edit.php' );
}
function remove_toolbar_menus() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu( 'new-post' );
}
function remove_dashboard_widgets() {
global $wp_meta_boxes;
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
}
Единственные оставшиеся ссылки, которые я вижу, находятся в метабоксе "Прямо сейчас" на консоли; вы также можете удалить этот блок целиком, добавив следующий код в функцию remove_dashboard_widgets
:
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);

Используйте этот плагин для скрытия админ-панелей чтобы скрыть панели.
