如何使用index.php作为存档的模板?

时间:2017-11-06 作者:grazianodev

我的归档页面与我的主页非常相似,当然除了加载的帖子。但就设计而言,它们实际上是完全相同的。所以我想使用索引。php用于我的主页和归档页面。我该怎么做?

我知道我可以复制代码index.php, 粘贴到archive.php 和使用

/* Template Name: Archive */

但我宁愿使用一个文件,这样如果我需要更改某些内容,我只能在一个地方更改它。

我也知道(或者至少我认为),如果没有archive.php Wordpress将自动查找index.php, 但问题是我在一个子主题中,所以它将查找父主题的archive.php, 这不好,因为我确实需要archive.php 那里

那么,我如何明确地告诉Wordpress要查找index.php 何时请求存档页?

1 个回复
最合适的回答,由SO网友:Andrew Schultz 整理而成

我没有测试过这个,但在你的档案中。子主题中的php文件使用以下命令输出索引。php文件内容。

<?php
get_template_part( \'index\' );
?>
这样,您就可以在索引中包含所有代码。php文件,但在其他地方使用它可以防止重复。

如果不想创建存档。php文件,然后使用此过滤器。

add_filter( \'template_include\', \'archive_home_page_template\', 99 );

function archive_home_page_template( $template ) {

    if ( is_archive() OR is_front_page() ) {
        $new_template = locate_template( array( \'index.php\' ) );
        if ( \'\' != $new_template ) {
            return $new_template;
        }
    }

    return $template;
}

结束

相关推荐

Custom templates vs page-slug

我目前一直在使用slug来设置页面模板,使用普通的层次结构例如,如果我想更改的页面模板http://www.example.com/about-us, 我会编辑关于我们的页面。php如果客户端要去更改页面slug,它将不再加载正确的模板。在WordPress后端使用“自定义模板”下拉列表是否更好?就这一点而言,最佳做法是什么?非常感谢