3

ワードプレスのウェブサイトには、次のページ構造があります。

/posts
/another-page/posts

基本的に、名前 (投稿) は同じですが、異なる投稿を一覧表示する 2 つの異なるページです。2 つのページは異なるテンプレートを使用する必要があります。最初の「投稿」ページでは、page-posts.php というファイルを作成するだけで、自動的に選択されます。他の「投稿」ページで同じことを行うにはどうすればよいですか?

テンプレートを作成し、管理ページのドロップダウンから手動で選択する唯一のソリューションですか? URL に影響を与えずにスラッグを変更する方法はありませんか?

4

2 に答える 2

1

各ページに page-{id}.php という名前の 2 つのテンプレート ファイルを作成できます。これにより、両方のページが処理されます。

テンプレート階層ページ セクション

各ページの ID は一意になります。そのため、WP-Admin エリアから [編集] を選択すると、URL を見ると ID を見つけることができます。

/wp-admin/post.php?post=6163&action=edit

このページの場合、私のページ ID は6163になります。したがって、テンプレート名はpage-6163 .php になります。

乾杯

于 2014-10-15T23:09:25.207 に答える
0

ページ テンプレート アクションにフックして、カスタム URL 構造をチェックし、存在する場合はカスタム テンプレートを出力してみてください。

 add_filter( 'page_template', 'custom_page_template' );

 function custom_page_template( $page_template )  {
     $url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];

     if ( false !== strpos( $url, '/another-page/posts' ) ) {
         $page_template = dirname(  __FILE__  ) . '/path_to_my_template.php';
     }

     return $page_template;
 }
于 2014-10-16T09:27:34.990 に答える