定制/页面/2/模板(不同于index.php)

时间:2012-07-01 作者:Bill

我正在尝试创建一个与主索引不同的自定义第2页模板。php。例如,主索引页将显示最新新闻+许多功能,如杂志。当读者点击阅读新闻帖子的第2、3、4页等时,他们会被带到一个更常规的新闻页面。有点像濒临绝境的东西。com(在底部,单击“下一页”,了解我的意思)。

有人知道怎么做吗?我知道可以为类别和标记创建归档页,但我不知道如何为索引创建归档页。php。

谢谢

2 个回复
最合适的回答,由SO网友:Joseph Leedy 整理而成

我会使用is_paged() 内部条件index.php 加载包含布局的两个单独模板。类似这样:

if ( is_paged() ):
   get_template_part( \'content\', \'first-page\' );
else:
   get_template_part( \'content\', \'paged\' );
endif;
假设您有两个模板,content-first-page.phpcontent-paged.php.

Edit: 如果您只想为索引页的一部分使用不同的模板,请尝试以下操作:

if ( !is_paged() ):
   get_template_part( \'content\', \'middle\' );    
endif;
将其放在您希望加载额外模板的任何位置。

SO网友:Stephen Harris

@约瑟夫的答案可能就是你想要的。但是,如果第一个页面和后续页面将有足够的不同,以至于需要一个完全不同的模板,那么您可以挂接到template_include 滤器

add_action(\'template_include\',\'wpse57122_change_on_p2\');
function wpse57122_change_on_p2( $template ){
    if( is_front_page() && is_paged() ){
        $template = locate_template(array(\'archive.php\',\'index.php\'));
    }
    return $template;
}
这改变了“首页”第2页及更高页使用的默认模板(请参阅is_front_pageis_paged()). 这个locate_template 按给定的顺序在(子主题和父主题)中搜索给定的模板。在本例中,它将使用archive.php 对于第2页及以上-如果该模板不存在,它将使用index.php 相反

结束

相关推荐

exclude pages in custom menu

我正在为wordpress创建一个自定义主题,它将有一个设置页面。我添加了从导航中排除页面的选项,该选项只会对由“,”分隔的页面id起作用以下是我目前掌握的代码: <ul class=\"tabs\"> <?php $exmenuitems = get_option(\'exmenuitems\'); $recentPosts = new WP_Query(); $recentPosts->query (array (&