web-dev-qa-db-fra.com

Comment obtenir le permalien d'une page lors du chargement de mon plugin

J'implémente un widget Web et pour cette raison, j'aimerais que mon script réponde à la demande le plus rapidement possible, afin d'éviter de charger des éléments inutiles.
J'ai découvert que l'appel de get_permalink( $page_id ) avant la phase init renvoie cette erreur:

[19 sept. 2012 12:10:12 UTC] PHP Erreur fatale : appel à une fonction membre get_page_permastruct() sur un non -objet dans ...\wp-includes\link-template.php sur ligne 276

Je me demandais s'il y avait un moyen de récupérer le permalien de la page sans attendre la phase init?

2
Nicola Peluchetti

setup_theme est la première action sur laquelle vous pouvez appeler get_permalink() on. la classe de réécriture est instanciée après plugins_loaded et avant setup_theme dans wp-settings.php, qui correspond à l'objet auquel l'erreur fait référence. get_page_permastruct() est une méthode de la classe de réécriture.

1
Milo

Le message d'erreur signifie que $page_id n'est pas défini. Essayez d'utiliser get_query_var('p') à la place?

0
Just Thomas Misund