Cómo deshabilitar las entradas y usar solo páginas

11 dic 2011, 05:30:36
Vistas: 40.8K
Votos: 12

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?

1
Comentarios

Si también deseas eliminar los enlaces al menú de "nueva entrada", revisa https://wordpress.stackexchange.com/questions/293148/how-do-i-remove-the-default-post-type-from-the-admin-toolbar

cweiske cweiske
23 jun 2024 18:17:41
Todas las respuestas a la pregunta 5
7
20

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' ) );
    }
11 dic 2011 06:01:51
Comentarios

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

ben.kaminski ben.kaminski
11 abr 2016 15:53:34

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

Nathan Hornby Nathan Hornby
3 feb 2017 14:31:07

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

Marco Panichi Marco Panichi
26 ago 2022 08:12:30

@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.

Brian Fegter Brian Fegter
26 ago 2022 18:58:50

@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?

Marco Panichi Marco Panichi
27 ago 2022 10:49:13

@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.

Brian Fegter Brian Fegter
29 ago 2022 17:41:56

@MarcoPanichi Actualicé la respuesta con esta aclaración. Esta es la única respuesta a esta pregunta.

Brian Fegter Brian Fegter
30 ago 2022 00:05:33
Mostrar los 2 comentarios restantes
0

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');
11 dic 2011 10:13:39
3

¿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!

1 mar 2012 20:23:12
Comentarios

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

The Z Man The Z Man
2 mar 2012 04:36:15

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

Nathan Hornby Nathan Hornby
3 feb 2017 14:19:59

He hecho esto, pero ahora como administrador tampoco puedo ver las publicaciones en borrador. ¿Cómo puedo ser el único que las vea? @ungestaltbar

Doğukan Sahil Doğukan Sahil
30 sept 2022 02:23:12
0

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.

11 dic 2011 05:54:38
0

¿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.

2 feb 2014 16:02:05