Cómo deshabilitar las entradas y usar solo páginas
Soy nuevo en el desarrollo de temas de WordPress y me gustaría configurar un sitio web que solo tenga contenido estático. Por lo tanto, ¿tendría sentido deshabilitar las entradas y usar solo páginas estáticas? Si es así, ¿hay una manera fácil de hacerlo?

Puedes ocultar fácilmente el menú de entradas agregando lo siguiente a tu archivo functions.php:
function remove_posts_menu() {
remove_menu_page('edit.php');
}
add_action('admin_menu', 'remove_posts_menu');
WordPress no permite deshabilitar el tipo de publicación real con la función unregister_post_type()
. La condición está aquí: https://github.com/WordPress/wordpress-develop/blob/6.0/src/wp-includes/post.php#L1754
// No permitir eliminar el registro de tipos de publicación internos.
if ( $post_type_object->_builtin ) {
return new WP_Error( 'invalid_post_type', __( 'No está permitido eliminar el registro de un tipo de publicación incorporado' ) );
}

Este método interrumpirá el cargador de la Galería Multimedia, ya que también trabaja con "edit.php".

@ben.kaminski Esto ya no parece ser el caso, para cualquiera que llegue aquí varios años después :)

Esta solución es puramente estética y no afecta la base de datos, por lo que no creo que sea una buena solución

@MarcoPanichi No hay NINGUNA forma de hacer esto en la base de datos. Por favor, en su lugar, muestra una manera y añade tu respuesta en lugar de afectar los puntos de reputación de otras personas sin motivo. Agradecería que retiraras el voto negativo ya que tu razonamiento no está en línea con cómo funciona esto en WordPress. Esta respuesta ha ayudado a la gente durante 11 años.

@BrianFegter tu respuesta no resuelve el problema porque no estás deshabilitando las entradas. La gente tiene derecho a poner un voto negativo en una respuesta si está motivado. Es un voto negativo, no una sentencia de muerte. No me gusta especialmente el hecho de que no expliques la situación; tu respuesta podría ser confusa: "Puedes simplemente ocultar" no es igual a deshabilitar entradas. Creo que podría retirar mi voto negativo si explicas mejor ese aspecto. ¿Podría ser un buen compromiso?

@MarcoPanichi No hay NINGUNA forma de deshabilitar entradas desde la base de datos. La única forma en WordPress es ocultar el menú. Por favor, mira este enlace: https://developer.wordpress.org/reference/functions/unregister_post_type/ Notarás en la línea 1753 que WordPress no te permitirá deshabilitar entradas.

Te recomendaría dejar la publicación solo para el usuario administrador... literalmente el "admin", y crear otro usuario para gestionar la página, así en caso de que lo necesites en el futuro para escalabilidad puedas volver a él con tu cuenta de administrador.
Solo añade el siguiente código a tu functions.php
function remove_menus () {
global $menu;
$user = wp_get_current_user();
if ($user->ID!=1) { // No es administrador,
$restricted = array(__(__('Entradas')));
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');

¿Has pensado en simplemente cambiar el nombre de "Entradas" a algo como "Noticias"? Para que el usuario (tú mismo o un cliente) aún pueda publicar noticias, comunicados de prensa, artículos, etc. y así evitar contenido estancado en el sitio.
Es bastante sencillo de hacer. Solo coloca esto en tu archivo de funciones.
function change_post_menu_label() {
global $menu;
global $submenu;
$menu[5][0] = 'Noticias';
$submenu['edit.php'][5][0] = 'Noticias';
$submenu['edit.php'][10][0] = 'Añadir Artículo';
$submenu['edit.php'][15][0] = 'Categorías de Noticias'; // Cambiar nombre para categorías
$submenu['edit.php'][16][0] = 'Etiquetas de Artículos'; // Cambiar nombre para etiquetas
}
function change_post_object_label() {
global $wp_post_types;
$labels = &$wp_post_types['post']->labels;
$labels->name = 'Noticias';
$labels->singular_name = 'Noticia';
$labels->add_new = 'Añadir Artículo';
$labels->add_new_item = 'Añadir Artículo';
$labels->edit_item = 'Editar Artículo';
$labels->new_item = 'Artículo de Noticia';
$labels->view_item = 'Ver Artículo';
$labels->search_items = 'Buscar Noticias';
$labels->not_found = 'No se encontraron artículos';
$labels->not_found_in_trash = 'No hay artículos en la papelera';
}
add_action( 'init', 'change_post_object_label' );
add_action( 'admin_menu', 'change_post_menu_label' );
Y ahora puedes tener noticias de las que todos pueden beneficiarse. ¡Espero que esto ayude!

oops... gracias ungestaltbar.. las acciones hacen que las ruedas giren, por así decirlo

No creo que "añadir un blog a un sitio web porque la funcionalidad existe" sea una muy buena respuesta a esta pregunta.

Las publicaciones / páginas son esencialmente lo mismo, solo se diferencian por definición de uso (y otras pequeñas cosas). Es más o menos como "blog" y "sitio web". Una página es en realidad un "tipo" de publicación (en lo que respecta a WordPress).
Hay muchas formas en las que puedes "desactivar" una u otra. Puedes desactivarlas mediante taxonomías, ocultando los menús, no usando una u otra en los archivos del tema...
Pero para saber cuál es la mejor manera, ¿puedes explicar un poco más POR QUÉ necesitas "desactivarlas"?
Sugiero que antes de empezar a "desactivar" cosas, instales WordPress y empieces a jugar un poco con él, así lo entenderás mucho mejor.

¿Tendría sentido deshabilitar las entradas y solo usar páginas estáticas?
No. A menos que solo necesites una cantidad pequeña de páginas.
Yo usaría las Entradas ya que son más flexibles. Puedes desactivar funciones específicas de las entradas que no quieras usar como comentarios o feeds RSS, pero verás que las entradas son mejores si planeas añadir contenido regularmente. De lo contrario, sí, puedes simplemente usar páginas estáticas.
Descubrirás que añadir contenido útil y relevante de forma regular aumentará el tráfico a tu sitio y mejorará la visibilidad de tu página web en internet.
