web-dev-qa-db-fra.com

Comment obtenir une url de page par un identifiant de page?

J'ai essayé d'utiliser get_page_link ("page-id") et get_permalink ("page-id"), mais l'erreur ci-dessous s'est produite.

Erreur fatale: Appel à une fonction membre get_page_permastruct () sur null dans ...

Comment puis-je obtenir une URL de page ne connaissant que son identifiant?

1
Maverick

Vous obtenez probablement cette erreur car WordPress n'a pas encore le fichier global $ wp_rewrite chargé pour une raison quelconque. Soit quelque chose l'a désactivé, soit vous essayez d'exécuter ces fonctions avant que WordPress ait une chance de le charger.

Si vous essayez de faire cela dans un plugin ou dans le fichier functions.php de votre thème, assurez-vous que vous vous trouvez dans une fonction qui est accrochée à after_setup_theme ou et qui est exécutée quelque temps après . Par exemple:

function get_url_of_page_id_165() {
    return get_permalink( 165 );
}
add_action( 'after_setup_theme', 'get_url_of_page_id_165' );
2
SeventhSteel