档案页面的模板错误

时间:2014-10-27 作者:aifrim

我正在尝试将分页添加到自定义帖子类型的归档中。目前,它是按年度和;月,我想添加分页,但我失败得很惨。

所以是这样的:

<!-- Request: cpt/2014/pagina/2 -->
<!-- Matched Rewrite Rule: cpt/([0-9]{4})/pagina/?([0-9]{1,})/?$ -->
<!-- Matched Rewrite Query: post_type=cpt&amp;year=2014&amp;paged=2 -->
<!-- Loaded Template: index.php -->
它应该加载archive-cpt.php 像这样:

<!-- Request: cpt/2014 -->
<!-- Matched Rewrite Rule: cpt/([0-9]{4})/?$ -->
<!-- Matched Rewrite Query: post_type=cpt&amp;year=2014 -->
<!-- Loaded Template: archive-cpt.php -->
对一些人来说special 我在帖子中添加了一个标记,效果很好。(此处分页也失败)

<!-- Request: cpt/marker -->
<!-- Matched Rewrite Rule: evenimente/marker/?$ -->
<!-- Matched Rewrite Query: post_type=cpt&amp;marker=yes -->
<!-- Loaded Template: archive-cpt.php -->
我把自己绑在init 并添加如下规则:

add_rewrite_rule( #works
    $cpt_name. \'/marker/?$\',
    \'index.php?post_type=\' . $cpt_slug . \'&marker=yes\',
    \'top\'
);

add_rewrite_rule( #fails
    $cpt_name . \'/marker/page/([0-9]{1,})/?$\',
    \'index.php?post_type=\' . $cpt_slug . \'&paged=$matches[1]&marker=yes\',
    \'top\'
);
我做错了什么?

3 个回复
最合适的回答,由SO网友:aifrim 整理而成

因为WordPress重定向到index.php 应该在什么时候加载archive.phparchive-cpt.php 我做了一个这样的变通方法:

add_rewrite_rule(
    $cpt_name . \'/page/?([0-9]{1,})?$\',
    \'index.php?post_type=\' . $cpt_slug . \'&qpaged=$matches[1]\',
    \'top\'
);
qpaged 而不是paged.

SO网友:mrwweb

看看"Template Hierarchy" Codex page.

自定义后期类型存档显示用于渲染存档的模板文件Index page for a Custom Post Type. [增加强调]

据我所知,这意味着archive-{cpt_slug}.php 模板仅用于默认情况下按时间倒序列出该帖子类型的所有帖子的页面。我认为您看到的是,至少就所使用的模板而言,是正确的预期行为。

如果要使用其他模板archive-cpt.php 文件或其他专门用于基于日期的查询的文件,然后您应该查看the template_include filter 这样可以更改WordPress使用的模板。

已经有人问过这个问题的类似版本,请查看这些版本以获得更多帮助:

SO网友:Astrid Karsten

您可以只使用wp分页,而不使用所有类型的重写规则。

只需使用WordPress的基本重写规则。您的CPT将使用归档CPT。php作为归档文件。

在模板中设置分页(http://codex.wordpress.org/Pagination)

完成的工作(即https://medischevacature.nl/vacatures/ cpt=“假期”)

结束

相关推荐

显示Archives.php中的所有自定义帖子类型

我该怎么做?archive.php 只有以下内容:wp_get_archives(\'type=monthly\'); 以及wp_get_archives() 没有显示所有帖子类型的参数。我也认为archive-[post_type].php 不是我要找的,因为我希望所有帖子类型都显示在一个归档页面中。谢谢W