Obtener la URL de la página padre para mostrarla cuando estás en páginas hijas

29 jun 2015, 04:33:30
Vistas: 48.9K
Votos: 19

Me gustaría preguntar cómo obtener el enlace de vuelta a la página padre cuando estoy en las páginas hijas. Preferiría usar un enlace apropiado en lugar del método <a href="javascript:history.back()">Volver</a>.

Pregunta y Ejemplo: ¿Cómo puedo obtener el enlace de la página hija de nivel 2 cuando estoy en la página hija de nivel 3?

Inicio > Página Padre > Página Hija Nivel 1 > Página Hija Nivel 2 > Página Hija Nivel 3

Inicio > Página Padre > Página Hija Nivel 1(mostrar este enlace) > Página Actual

Inicio > Página Padre(mostrar este enlace) > Página Actual

Línea actualizada: He agregado estos tres ejemplos anteriores para explicar mejor lo que estoy tratando de preguntar.

Esta pregunta no es sobre breadcrumbs. Solo me gustaría obtener el enlace de la página padre para mostrarlo cuando se está en páginas hijas.

¿Y cómo puedo obtener el enlace de la página hija de nivel 1 cuando estoy en la página hija de nivel 2?

La razón por la que hago esta pregunta es que quiero crear un enlace de Volver a la Página Anterior para diferentes niveles cuando estoy en diferentes páginas hijas. Por favor, díganme si no lo entienden.

0
Todas las respuestas a la pregunta 1
8
27

Puedes usar algo como esto para obtener la URL de la página padre (y mostrar su título):

<?php if ( $post->post_parent ) { ?>
 <a href="<?php echo get_permalink( $post->post_parent ); ?>" >
    <?php echo get_the_title( $post->post_parent ); ?>
 </a>
<?php } ?>

Si estás ejecutando este código fuera del loop (gracias @BorisKuzmanov), entonces usa esto:

<?php global $post;
  if ( $post->post_parent ) { ?>
    <a href="<?php echo get_permalink( $post->post_parent ); ?>" >
    <?php echo get_the_title( $post->post_parent ); ?>
    </a>
<?php } ?>
29 jun 2015 06:14:35
Comentarios

no funciona.

Jornes Jornes
2 jul 2015 05:01:54

¿Qué quieres decir con que no funciona? ¿Dónde estás colocando este código?

Monkey Puzzle Monkey Puzzle
3 jul 2015 03:33:42

Puse este código en la página donde quiero que aparezca el enlace. Pero no muestra nada.

Jornes Jornes
3 jul 2015 04:14:18

Pruébalo en tu sidebar.php y comprueba si funciona ahí. Solo mostrará algo (la página padre) CUANDO la página en cuestión TENGA un padre.

Monkey Puzzle Monkey Puzzle
3 jul 2015 04:21:27

Si estás ejecutando el código fuera de un loop, intenta añadir global $post al principio de tu código.

Boris Kuzmanov Boris Kuzmanov
8 jun 2016 15:08:15

@BorisKuzmanov, ¡Sí! He probado nuevamente este código. ¡Está funcionando! ¡Gracias!

Jornes Jornes
16 jun 2016 07:30:11

Si uso cualquiera de los fragmentos de código en page.php (por ejemplo), ambos funcionan, incluso fuera de un bucle... ¿no deberían? ¿O depende de tu configuración/tema? ¡Y gracias por cierto, esto es genial! :)

user1406440 user1406440
19 abr 2017 20:41:41

¡Funciona, confirmo que funciona y me ayudó a obtener el ID del padre para hacer algunos condicionales que necesitaba implementar!

Rodrigo Zuluaga Rodrigo Zuluaga
11 jun 2020 23:44:14
Mostrar los 3 comentarios restantes