Como ocultar páginas en WordPress

Quizás te hayas fijado que hay alguna página en el blog que no aparece en el listado superior, como la de usuarios activos, y esto se puede conseguir de dos maneras que paso a explicarte.

La primera y mas sencilla pasa por instalar un plugin para WordPress llamado Link Manager. Una vez activado te ofrece dos entornos donde definir que páginas quieres que sean visibles en la barra de navegación de páginas estáticas. La página de opciones del plugin …

linkmanager1.png

Y el otro lugar es en la ventana del editor de páginas, con una casilla que te permite, a la hora de crearla, decidir si será visible o no …

linkmanager2.png

Si lo deseas puedes descargar aquí mismo el plugin traducido al español:
[download id=49]

La segunda, igual de sencilla pero que requiere que modifiques tu plantilla pasa por lo siguiente:
Abre el fichero header.php de tu plantilla, que estará situado en tublog.com/wp-content/themes/tuplantilla/header.php y encontrarás una línea de código similar a esta …

< ?php wp_list_pages('sort_column=menu_order&depth=1&title_li=');?>

Lo que tienes que hacer es incluir una función de exclusión para que no muestre la página que quieras ocultar. Sería algo así …

 < ?php wp_list_pages('depth=1&sort_column=menu_order&exclude=12&title_li=’ . __(”) . ” ); ?>

Donde «12» es el ID de la página a excluir. Además, puedes llevar mas allá este truco excluyendo mas páginas de este modo …

 < ?php wp_list_pages('depth=1&sort_column=menu_order&exclude=12,22&title_li=’ . __(”) . ” ); ?>

Consiguiendo de este modo excluir de la navegación, separándolas con comas, las páginas con los ID 12 y 22.

Si se te ocurre otro método no dejes de comentarlo aquí mismo o en este hilo del foro.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(4 votos, promedio: 3.3)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

35 comentarios en “Como ocultar páginas en WordPress”

  1. Excelente, estaba esperando un plugin hace rato pues recurría originalmente a la edición del header.php
    Gracias nuevamente Fernando 😉

  2. Como una salvedad para aquellos que no encuentran las opciones para este plugin: se encuentran en Administración> Enlace a página y no en la página de Opciones o de Plugin
    😉

  3. increible,muxas gracias ,porque no me funcionaba cambiando wp_list_pages, lo hacia en la cabezera y en el side, se agradece

  4. como puedo hacer para que algunas paginas solo esten visibles para usuarios registrados en el blog? Es decir, que si estas registrado y logeado te salga en el menu superior, y si no, no aparezca.
    gracias!

  5. David, para eso tienes que marcarlas como Privadas en la ventana del editor de WordPress, incluso puedes tenerlas visibles pero que te pida contraseña para acceder. Para blogs corporativos es muy interesante 😉

  6. pues es que no lo entiendo, porque no me funciona :-(, si las pongo como privadas no las veo ni siquiera cuando estoy como admin… 🙁

  7. ¡Que raro!, yo tengo alguna privada en mi blog personal y solo las ven los registrados 😮

    No se que decirte la verdad, tendría que ver como lo has hecho para valorarlo. Si te apetece pásate por el foro y lo vemos ahí.

  8. Hola, quisiera saber si se puede realizar esto mismo con las categorias, se pueden ocultar las categorias, funciona con alguno de los metodos que expones aqui?

  9. Hugor-R ¿como quieres hacerlo?. Quieres que no se muestren posts de una categoría concreta o que no se listen en el widget o que??

    Si te refieres al listado de categorías si que vale, con exclude te sirve:

      < ?php wp_list_categories('orderby=name&show_count=1&exclude=10'); ?>

    Donde 10 sería el ID de categoría

  10. Gracias Fernando, lo que queria era que varias categorias NO se listaran en el widget, con el exclude me ha funcionado bien. Gracias

  11. Ah, claro, es que los widgets son un engorro, lo mejor es prescindir de ellos en cuando se pueda y usar los códigos en el sidebar, te dan mucha mas flexibilidad y consigues lo mismo 🙂

    Me alegro que te sirviera 😉

  12. no logro esconder una categoria de la lista (en el widget) donde tendria q poner ese codigo?? .. quiero q se listen todas menos una!! saludos

  13. solucionado le agregue el exclude a : $cat_args = «orderby=name&show_count={$c}&hierarchical={$h}&exclude=123′»;

  14. Yo igual estaba en búsqueda de esconder una categoría del widget. Las soluciones que postió Martin y Fernando Tellado no me sirvieron, pero se me ocurrió instalar el ACE y modificar al final de "advanced-category-excluder.php" las sgts líneas:

    add_filter('posts_join', 'ace_join');

    add_filter('posts_where', 'ace_where');

    add_filter('posts_distinct', 'ace_distinct');

    add_filter('wp_list_categories','ace_list_categories');

    dejandolas como:

    add_filter('', 'ace_join');

    add_filter('', 'ace_where');

    add_filter('', 'ace_distinct');

    add_filter('wp_list_categories','ace_list_categories');

    la verdad, no sé lo que hice xD, pero el asunto es que desaparece la categoria que selecciono en dashboard sin que desparesca también el post de la página 😀

  15. Pingback: Como añadir páginas a la barra de navegación

  16. El problema es que me desaparece tambien de la navegación de la barra izquierda! Y si lo quiero a la izquierda y no arriba es posible?

  17. no consigo editar bien header.php para que no aparezcan ciertas páginas en la navegacion superior, necesito una ayudita

    el codigo es el siguiente:

    <code>

    <a href="/">Home

    ID;

    $page_title = $page->post_title;

    $page_name = $page->post_name;

    if ($page_name == "archives") {

    // (is_page($page_id) || is_archive() || is_search() || is_single())?$selected = ' ':$selected='';

    (is_page($page_id) || is_archive() || is_search() || is_single())?$selected = ' id="current"':$selected='';

    echo "<a>Archivesn";

    }

    elseif($page_name == "about") {

    (is_page($page_id))?$selected = ' id="current"':$selected='';

    echo "<a>Aboutn";

    }

    elseif ($page_name == "contact") {

    (is_page($page_id))?$selected = ' id="current"':$selected='';

    echo "<a>Contactn";

    }

    elseif ($page_name == "about_short") {/*ignore*/}

    else {

    (is_page($page_id))?$selected = ' id="current"':$selected='';

    echo "<a>$page_titlen";

    }

    }

    }

    /* Many thanks to Blix creator Sebastian Schmieg for his PHP scripting, get Blix – */

    ?>

    </code>

  18. Hola, tengo un problema. Tengo unas paginas que quiero que soo se accedan a ellas si se registran, entonces en el editor de wordpress coloco "privada". pero aunque esté registrado no aparece.

    Que debo hacer?

  19. Pingback: JPAngulo - Un blog hiperpersonal » Wordpress: Añadir el Konami Code a tu blog

  20. Pingback: servicio de innovacion 2.0 » Blog Archive » Cómo publicar y ocultar páginas en WordPress

  21. Muchísimas gracias… simempre me salvas . increíble, busco en google y la mayoría de las veces me trae algo de tu blog que me salva la vida.
    Gracias!!!!

  22. No se como hacer lo siguiente para un sitio web que funciona con wordpress y buddypress. Lo que quiero es hacer que algunas paginas solo esten visibles para usuarios registrados en el sitio web. Es decir, que si estas registrado y logeado te salga en el menu superior, y si no, no aparezca. Pero a la vez que cuando se logeen aparezcan las privadas y se oculten las generales. Por ejemplo, tengo un menú: Inicio, ¿quienes somos?, contacto y cuando se registran que aparezcan las del menú de buddypress pero no las de inicio, ¿quienes somos? y contacto.si me pueden ayudar se los agradecería mucho!

  23. como puedo hacer para que algunas paginas solo esten visibles para usuarios registrados en el blog? Es decir, que si estas registrado y logeado te salga en el menu superior, y si no, no aparezca.gracias!

  24. Hola, no se si por el tiempo que ha pasado de este blog pero en mi header.php no aparece nada parecido a:

    lo mas parecido que tengo es:

    ‘main_navigation’,
    ‘container_id’ => ‘menu’,
    ‘menu_class’ => »,
    ‘walker’ => new boc_Menu_Walker,
    ‘fallback_cb’ => ‘menuFallBack’,
    ‘items_wrap’ => ‘%3$s’,

    Agradezco de antemano la ayuda.

    Saludos,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido