自动为子页面选择一个名称与另一个名称相同的模板

时间:2014-10-15 22:57:22

标签: wordpress custom-wordpress-pages

在wordpress网站上,我有这样的页面结构:

/posts
/another-page/posts

基本上,它们是列出不同帖子的两个不同页面,即使名称(帖子)相同。这两个页面应该使用不同的模板。对于第一个"帖子"页面我只是创建一个名为page-posts.php的文件,并自动选择它。如何为其他人发布同样的事情"帖子"网页?

是唯一的解决方案来创建模板并从管理页面的下拉列表中手动选择它吗?在没有影响网址的情况下,是否有任何方法可以更改slug?

2 个答案:

答案 0 :(得分:0)

您可以为每个页面创建两个模板文件名称page- {id} .php。这将为您处理这两个页面。

Template Hierarchy Page Section

每个页面的ID都是唯一的。因此,当您从WP-Admin区域选择Edit时,请查看URL并找到ID。

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

对于此页面,我的网页ID 6163 。因此,模板名称将为page- 6163 .php。

干杯

答案 1 :(得分:0)

您可以尝试连接到页面模板操作,检查自定义网址结构,如果存在,则输出自定义模板。

 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;
 }