web-dev-qa-db-ja.com

(固有の)ページ名はどのようにして取得しますか。

http://localhost/wordpress/about_us/のページからどうやって私は「about_us」だけを手に入れるのですか?

ありがとう

2
Umarfaruk M

WPグローバル変数$ pagenameがあなたに利用可能であるべきです、私はちょうどあなたが指定したのと同じ設定で試みました。

$ pagenameは、get_page_template()関数内のwp-includes/theme.phpファイルで定義されています。これは、ページのテーマファイルが解析される前に呼び出されるので、ページのテンプレート内の任意の場所で使用できます。

文書化されていないようですが、$pagename変数はパーマリンクを使用している場合にのみ設定されます。これを使わないのであれば、WPはページスラッグを必要としないので設定されないからだと思います。

このページを静的フロントページとして使用している場合、$pagenameは設定されません。

これは/wp-includes/theme.php内のコードです。$ pagenameを設定できない場合に指摘した解決策を使用します。

$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