web-dev-qa-db-fra.com

Comment puis-je obtenir un nom de page (unique)?

Comme à partir de la page de http://localhost/wordpress/about_us/, comment puis-je obtenir uniquement le "about_us"?

Merci

2
Umarfaruk M

La WP variable globale $ pagename devrait être disponible, je viens d’essayer avec la même configuration que celle que vous avez spécifiée.

$ pagename est défini dans le fichier wp-includes/theme.php, dans la fonction get_page_template (), qui est bien sûr appelée avant que les fichiers de thème de votre page ne soient analysés. Il est donc disponible à tout moment dans vos modèles de pages.

Bien que cela ne semble pas documenté, la variable $pagename var n'est définie que si vous utilisez des liens permanents. Je suppose que cela est dû au fait que si vous ne les utilisez pas, WP n'a pas besoin du slug de page, il n'est donc pas configuré.

$pagename n'est pas défini si vous utilisez la page en tant que page de garde statique.

C'est le code à l'intérieur de /wp-includes/theme.php, qui utilise la solution que vous avez indiquée lorsque $ pagename ne peut pas être défini:

$pagename = get_query_var('pagename');
if ( !$pagename && $id > 0 ) {
// If a static page is set as the front page, $pagename will not be set. Retrieve it from the queried object
$post = $wp_query->get_queried_object();
$pagename = $post->post_name;
}
1
dannyw24