Как отключить записи и использовать только страницы
Я новичок в разработке тем WordPress и хочу создать веб-сайт, который содержит только статический контент. Имеет ли смысл отключить записи и использовать только статические страницы? Если да, то есть ли простой способ сделать это?

Вы можете просто скрыть меню записей, добавив следующий код в файл functions.php:
function remove_posts_menu() {
remove_menu_page('edit.php');
}
add_action('admin_menu', 'remove_posts_menu');
WordPress не позволяет отключить сам тип записи с помощью функции unregister_post_type()
. Условие находится здесь: https://github.com/WordPress/wordpress-develop/blob/6.0/src/wp-includes/post.php#L1754
// Не разрешать отмену регистрации встроенных типов записей.
if ( $post_type_object->_builtin ) {
return new WP_Error( 'invalid_post_type', __( 'Отмена регистрации встроенного типа записи не разрешена' ) );
}

Этот метод сломает загрузчик Медиатеки, так как он также работает с "edit.php".

@ben.kaminski Похоже, это больше не актуально, для тех, кто попал сюда спустя несколько лет :)

Это решение чисто косметическое и не влияет на базу данных, поэтому я не считаю его хорошим решением

@MarcoPanichi Это НЕВОЗМОЖНО сделать в базе данных. Пожалуйста, вместо этого покажите свой способ и добавьте свой ответ, а не понижайте репутацию других людей без причины. Я был бы признателен, если бы вы отозвали свой голос против, так как ваше обоснование не соответствует тому, как это работает в WordPress. Этот ответ помогает людям уже 11 лет.

@BrianFegter ваш ответ не решает проблему, потому что вы не отключаете записи. Люди имеют право ставить минус ответу, если это мотивировано. Это просто минус, а не смертный приговор. Мне особенно не нравится, что вы не объясняете ситуацию; ваш ответ может ввести в заблуждение: "Вы можете просто скрыть" ≠ отключить записи. Я думаю, что мог бы убрать свой минус, если вы лучше объясните этот аспект. Может, это будет хорошим компромиссом?

@MarcoPanichi Нет НИКАКОГО способа отключить записи через базу данных. Единственный способ в WordPress — это скрыть меню. Пожалуйста, ознакомьтесь с этой ссылкой: https://developer.wordpress.org/reference/functions/unregister_post_type/ Вы заметите на строке 1753, что WordPress не позволяет отключить записи.

Я рекомендую оставить доступ к записям только для пользователя "admin" и создать другого пользователя для управления страницей. Таким образом, в будущем при необходимости масштабирования вы сможете вернуться к настройкам через аккаунт администратора.
Просто добавьте следующий код в ваш файл functions.php:
function remove_menus () {
global $menu;
$user = wp_get_current_user();
if ($user->ID!=1) { // Если это не администратор,
$restricted = array(__(__('Записи')));
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
}
add_action('admin_menu', 'remove_menus');

Вы задумывались о том, чтобы просто переименовать "Записи" во что-то вроде "Новости"? Это позволит пользователю (вам или клиенту) по-прежнему публиковать новости, пресс-релизы, статьи и т.д., чтобы предотвратить застой контента на сайте.
Это довольно просто сделать. Просто добавьте этот код в файл функций.
function change_post_menu_label() {
global $menu;
global $submenu;
$menu[5][0] = 'Новости';
$submenu['edit.php'][5][0] = 'Новости';
$submenu['edit.php'][10][0] = 'Добавить статью';
$submenu['edit.php'][15][0] = 'Категории новостей'; // Изменяем название для категорий
$submenu['edit.php'][16][0] = 'Метки статей'; // Изменяем название для меток
}
function change_post_object_label() {
global $wp_post_types;
$labels = &$wp_post_types['post']->labels;
$labels->name = 'Новости';
$labels->singular_name = 'Новость';
$labels->add_new = 'Добавить статью';
$labels->add_new_item = 'Добавить статью';
$labels->edit_item = 'Редактировать статью';
$labels->new_item = 'Новостная статья';
$labels->view_item = 'Просмотреть статью';
$labels->search_items = 'Искать новости';
$labels->not_found = 'Статьи не найдены';
$labels->not_found_in_trash = 'В корзине статьи не найдены';
}
add_action( 'init', 'change_post_object_label' );
add_action( 'admin_menu', 'change_post_menu_label' );
И теперь у вас могут быть новости, которые будут полезны всем. Надеюсь, это поможет!

упс.. спасибо ungestaltbar.. действия вроде как заставляют колеса крутиться

Я не думаю, что 'добавить блог на сайт, потому что функционал существует' - это хороший ответ на данный вопрос.

Записи и страницы по сути одинаковы — они различаются только по определению использования (и некоторым мелким деталям). Примерно как "блог" и "веб-сайт". Страница фактически является "разновидностью" записи (с точки зрения WordPress).
Существует множество способов "отключить" одно или другое. Вы можете отключить их через таксономии, скрыв меню, не используя их в файлах темы...
Но чтобы понять, какой способ лучше, объясните подробнее, ПОЧЕМУ вам нужно их "отключать"?
Я рекомендую перед тем, как начать "отключать" что-либо, установить WordPress и немного поэкспериментировать — тогда вы поймёте гораздо лучше.

Имеет ли смысл отключать записи и использовать только статические страницы?
Нет. Если только вам не нужно небольшое количество страниц.
Я бы использовал записи, так как они более гибкие. Вы можете отключить определенные функции для записей, которые вам не нужны, такие как комментарии и RSS-лента и т.д., но вы обнаружите, что записи лучше использовать, если вы хотите регулярно добавлять контент. В противном случае, да, вы можете просто использовать статические страницы.
Вы обнаружите, что добавление полезного, релевантного контента на регулярной основе увеличит трафик на ваш сайт и повысит видимость вашего сайта в интернете.
