Soporte » Diseño – Temas y plantillas » averiguar padre de una página

  • Estoy en un proyecto en local y estando dentro de una página quiero poner un enlace a su página padre pero no se como averiguarlo. Una ayudita porfis.

    Saludos.

Viendo 6 respuestas - 1 de 6 (de 6 total)
  • Moderador almendron

    (@almendron)

    A ver si te sirve:

    <?php global $post; ?>
    <?php if($post->post_parent) : ?>
            <?php
    		$urlparent = get_page_link($post->post_parent);
    		$nombreparent = get_the_title($post->post_parent);
            ?>
    	<?php echo '<a href="'. $urlparent . '">' . $nombreparent . '</a>'?>
    <?php endif; ?>

    Hola almendron
    En parte si me ha servido.
    Te explico, mi proyecto consta de varias páginas, de cada una de ellas cuelgan otras varias, lo que he hecho es en el sidebar colocar un menú con sus páginas hijos, ese menú se visualiza en la página padre y en todas las páginas hijos. Se me ocurrió que cuando se está visualizando una página hijo y para que se sepa en que página padre estamos poner un enlace hacia el padre, así el usuario, puesto que cada padre trata un tema en particular, sepa siempre en que tema está.
    Ahora lo que quiero es que ese enlace que aparecen en los hijos no aparezca cuando se está en el padre, puesto que no es necesario, ya que cada padre tiene por título el tema sobre el que trata, aunque eso realmente no me preocupa aunque si es verdad que estando en el padre es absurdo tener ese enlace, aunque no moleste.
    He intentado poner un condicional con la id del padre para que no se visualice ese enlace pero aún no lo he logrado.
    Te dejo el código.

    Saludos.

    <!– SIDEBAR –>
    <aside id=»main-sidebar»>
    <div class=»text-center»>
    <div class=»apartado»>
    <?php $urlparent = get_page_link($post->post_parent);?>
    <?php $nombreparent = get_the_title($post->post_parent); ?>
    <h2><?php echo ‘‘ . $nombreparent . ‘‘; ?></h2>
    </div>
    </div>

    <div class=»menu-ejercicios text-center»>
    <h2>Ejercicios para este tema</h2>

    <?php global $wp_query; $id = $wp_query->post->ID; ?>

    <?php
    // Menu Expresiones algebraicas
    if($id == 100 or $id == 202 or $id == 204 or $id == 205
    or $id == 206 or $id == 207 or $id == 432 ) {
    $args = array(
    ‘theme_location’ => ‘menu-5’,
    ‘container’ => ‘div’,
    ‘container_class’ => ‘menu-resolver’
    );
    wp_nav_menu($args);
    }
    ?>

    Moderador almendron

    (@almendron)

    Tendrías que

    1) Si la página actual tiene página padre, entonces muestras las páginas hijas con sus enlaces.
    2) En caso contrario, no muestras los enlaces.

    <?php if($post->post_parent) : ?>
     muestras las páginas hijas con sus enlaces.
    <?php else : ?>
    no muestras los enlaces
    <?php endif; ?>

    Hola de nuevo.
    Te voy a preguntar una nueva custión.
    Antes de ponerme a buscar por Google si se puede hacer lo que quiero hacer, te hago esta consulta porque me supongo que eso que intento hacer ya lo habrá solucionado alguien y seguro que me ayudas , sin más preámbulos paso a la pregunta.
    Tengo en el sidebar un solo área de widgets y dentro de él otros widgets, mi pregunta es la siguiente: Tál cuál está ahora mismo en todas las páginas aparecerán esos widget, pero yo quiero que según en la página donde esté se visualicen todos, ninguno o algunos de ellos.
    Para visualizar todos no tengo que hacer nada evidentemente, para no ver ninguno en ninguna página se puedo hacer un display none a las IDs que crea wordpress para cada uno de los widgets, pero la madre del cordero está cuando solo quiero visualizar alguno de ellos en algunas páginas.
    Como ya comenté supongo que este problema ya lo habrán resuelto otros.
    Utilizando condicionales y la Id de la pagína supongo que podré hacerlo pero no logro un efoque de como debe ser el código.
    ¿Me puedes dar idea?.
    Saludos

    • Esta respuesta fue modificada hace 2 semanas, 3 días por fransanto.

    Ahhh actualmente tengo instalado en plugin Widget Context donde se puede discriminar a traves de urls, funciona bien.

    Moderador almendron

    (@almendron)

Viendo 6 respuestas - 1 de 6 (de 6 total)
  • Debes estar registrado para responder a este debate.