¿Enlaces internos a páginas en PHP?

3 may 2012, 11:59:30
Vistas: 19.8K
Votos: 3

¿Cuál es la mejor manera de enlazar a páginas de WordPress con PHP? Teniendo en cuenta que muevo la página de un servidor local a un servidor en vivo con otra URL?

<a href="/wordpress/services" title="Leer más" class="yellowButton">Leer más</a> 

¿Cómo podrías reemplazar este código con PHP enlazando a la página de WordPress?

/wordpress/services
2
Comentarios

Sé que puede parecer una pregunta tonta, pero me gustaría saber cuál es la mejor solución para enlazar a páginas, ¿Enlazas directamente a un ID o a un nombre de página? No entiendo la página del Codex de WordPress. ¿Podría alguien darme un ejemplo en PHP de esto?

Josh Josh
3 may 2012 12:18:22

¿Qué sabes sobre la página? ¿Título? ¿ID de página? ¿Nada?

Chip Bennett Chip Bennett
3 may 2012 16:27:03
Todas las respuestas a la pregunta 4
0

Enlace permanente de página desde $id

Si conoces el $id de la página, usa get_permalink():

<?php $permalink = get_permalink( $id ); ?>

Enlace permanente de página desde $slug

Si conoces el $slug de la página, como /acerca-de (incluyendo jerarquía, como /acerca-de/trabajo), usa get_page_by_path() para obtener el $id de la página, luego usa get_permalink().

<?php
$page_object = get_page_by_path( $slug );
$page_id = $page_object->ID;
$permalink = get_permalink( $page_id );
?>

Enlace permanente de página desde $title

Si conoces el $title (título) de la página, como "Algún nombre de página aleatorio", usa get_page_by_title(), luego usa get_permalink():

<?php
$page_object = get_page_by_title( $title );
$page_id = $page_object->ID;
$permalink = get_permalink( $page_id );
?>
3 may 2012 19:45:23
0

¿Quieres encontrarlos por nombre? Si es así, puedes hacerlo

<a href="<?php echo site_url('/services'); ?>"> Servicios </a>
28 dic 2019 19:50:48
0

Si deseas codificar manualmente '/page-names' puedes usar la función home_url('/wordpress/services') junto con esc_url() para sanitizar las URLs - siempre obtendrás la URL completa de la página de inicio (local o en producción).

<a href="<?php echo esc_url( home_url( '/wordpress/services' ) ); ?>"
 title="Leer más" class="yellowButton">
 Leer más
</a> 
10 abr 2018 00:35:12
0
-1

Puedes usar un shortcode para insertar el nombre del dominio en el enlace interno y luego simplemente agregar la URL de la página al final, por ejemplo [domain_name]/nombre-de-pagina.

¡Añade este código en el archivo functions.php de tu tema hijo y estará listo para usar!

//añade shortcode que muestra el nombre del sitio actual
function domain_name(){
$currentDomain = "tusitio.com";
return $currentDomain;
}

add_shortcode('domain_name', 'domain_name');

He probado esto en múltiples sitios en vivo y parece estar funcionando perfectamente.

¡Espero que esto sea lo que estabas buscando!

9 abr 2018 16:37:15