it-swarm.com.de

Wie bekomme ich einen (eindeutigen) Seitennamen?

Wie bekomme ich von der Seite von http://localhost/wordpress/about_us/ nur den "about_us"?

Vielen Dank

2
Umarfaruk M

Die WP globale Variable $ pagename sollte für Sie verfügbar sein. Ich habe es gerade mit demselben Setup versucht, das Sie angegeben haben.

$ pagename ist in der Datei wp-includes/theme.php in der Funktion get_page_template () definiert, die natürlich aufgerufen wird, bevor Ihre Seitenthemadateien analysiert werden, sodass sie an jedem Punkt in Ihren Vorlagen für Seiten verfügbar sind.

Obwohl es nicht dokumentiert zu sein scheint, wird der $pagename var nur gesetzt, wenn Sie Permalinks verwenden. Ich schätze, das liegt daran, dass WP den Seiten-Slug nicht benötigt, wenn Sie ihn nicht verwenden, sodass er nicht eingerichtet wird.

$pagename wird nicht festgelegt, wenn Sie die Seite als statische Startseite verwenden.

Dies ist der Code in /wp-includes/theme.php, der die Lösung verwendet, auf die Sie hingewiesen haben, wenn $ pagename nicht gesetzt werden kann:

$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