获取特定模板文件的链接

时间:2011-08-13 作者:daysrunaway

我计划创建一个自定义的“归档”模板,为我的博客创建一个详细的归档页面,包括按类别、标记、日期和作者列出的帖子列表。WordPress中是否有办法获得指向特定模板文件的链接,而不是使用静态链接?我希望无论页面的URL如何,链接都能正常工作。这可能吗?

2 个回复
SO网友:mrwweb

这里有一个使用“归档”页面模板打印第一页URI的函数。它假定模板名为template archive。php(不要将其命名为archive.php并劫持模板层次结构!)。您可以在函数中删除此项。php并在模板中调用它,也可以直接在模板文件中使用函数中的代码。

function wpse25797_the_archives_link() {
    $archive_page = get_pages(
        array(
            \'meta_key\' => \'_wp_page_template\',
            \'meta_value\' => \'template-archive.php\'
        )
    );
    $archive_id = $showcase_page[0]->ID;
    echo get_permalink( $archive_id );
}

SO网友:eddiemoya

取决于它的归档内容。查看模板层次结构。。。

http://codex.wordpress.org/images/1/18/Template_Hierarchy.png

正如你所看到的,有很多种档案。分类法、类别、标记、作者、日期和帖子。如果在“存档”查询中未找到特定类型的模板,则WordPress默认为通用“存档”。php的模板。如果也没有找到,它将默认为“index”。php’。

如果您试图创建一个显示多种存档组合的通用存档页面,从理论上讲,您可以在层次结构中的任何地方这样做-然后要回答的问题是您希望站点的这一部分显示在哪里以及如何显示-以及将在那里显示什么样的数据(它是相对于您所在的cat,还是一种中心通用类型的东西)。

例如,如果创建名为“类别”的模板。php,则任何类别请求都将使用该模板显示,除非您为特定类别创建特定的模板。所以如果你有类别。php和类别myslug。然后“myslug”类别将显示其特殊模板,但所有其他类别将使用常规类别显示。php模板。

如果您的url是http://example.com/category/cat1, 可以使用与相同的模板http://example.com/category/cat2 基于主题中存在哪些模板do和do。

相同的逻辑适用于标记模板、页面模板、基于日期的存档、自定义分类法模板和自定义帖子类型模板。此外,如果要应用单个模板ALL archives, 只需创建一个存档。php模板,并确保主题中没有更具体的模板。

希望这有帮助。

结束