¿Cómo obtener la URL de una página mediante su ID?

12 mar 2015, 18:23:36
Vistas: 39.2K
Votos: 6

Intenté usar get_page_link('page-id') y get_permalink('page-id') pero ocurrió el error siguiente.

Fatal error: Call to a member function get_page_permastruct() on null in ...

¿Cómo puedo obtener la URL de una página conociendo solamente su ID?

3
Comentarios

¿Lo estás escribiendo así con 'page-id'? Necesitas pasarle un ID real y debería funcionar. get_permalink(4); o una variable con el ID get_permalink($id);

jzatt jzatt
12 mar 2015 18:29:03

Sí, lo sé. Escribí 'page-id' como ejemplo. El problema es que no funciona con un ID de página existente. También lo probé en una instalación limpia de WP.

Maverick Maverick
12 mar 2015 18:32:45

Bien, nunca se puede estar seguro, así que pensé que al menos lo preguntaría :)

jzatt jzatt
13 mar 2015 11:49:17
Todas las respuestas a la pregunta 2
0
12

Probablemente estés recibiendo ese error porque WordPress no ha cargado todavía la variable global $wp_rewrite por alguna razón. Puede que algo la haya desactivado, o estés intentando ejecutar esas funciones antes de que WordPress tenga oportunidad de cargarla.

Si estás intentando hacer esto en un plugin o en el archivo functions.php de tu tema, asegúrate de que estás dentro de una función que esté enganchada a after_setup_theme o un hook que se ejecute después. Por ejemplo:

function obtener_url_de_la_pagina_id_165() {
    return get_permalink( 165 );
}
add_action( 'after_setup_theme', 'obtener_url_de_la_pagina_id_165' );
12 mar 2015 18:42:59
2
<?php
// Obtener la URL permanente de la página con ID 15551 (normalmente la página de reservas)
$booking_url = get_permalink('15551');
// Mostrar la URL de reserva
echo $booking_url;
?>
26 oct 2021 07:00:16
Comentarios

OP dijo que ya probó get_page_link y get_permalink y no funcionó. Así que creo que la pregunta realmente explica el mensaje de error, no qué API llamar.

Rup Rup
26 oct 2021 11:21:45

Usé esto. Esto funciona bien, no es necesario crear ninguna función.

chirag p chirag p
4 oct 2022 16:31:02