自定义帖子类型不接受页面变量

时间:2014-05-21 15:29:40

标签: php wordpress

我使用PODS创建了自定义帖子类型 该URL最终为:

http://example.com/dj/dj-name

dj有一个作者字段,我用它来查询DJ的帖子。

next_posts_link()的网址;最终会像人们期望的那样成为/ dj / dj-name / page / 2。

点击链接wordpress后似乎忽略了/ page / 2并只是重定向回/ dj / dj-name

我的永久链接结构是:http://example.com/sample-post/

当我使用默认永久链接结构/?dj = dj-name& paged = 2时,它可以正常工作。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

在PHP文件中,您是否将$paged分配给任何内容? View Pagination Codex

在您的查询之上,可能就在您的get_header()下方,您需要添加以下内容:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

如果这不起作用,您可以尝试再次保存永久链接(设置 - >永久链接 - >保存永久链接)。这将刷新您当前的永久链接结构。

最后,如果您已经创建了名为“dj-name”的页面,则可能会遇到问题,因为WordPress无法区分名为page/2/的子页面和分页链接page/2/

答案 1 :(得分:0)

分页仅适用于存档页面,例如index.php,category.php,archive-posttype.php等。

你可以使它在single.php或类似的页面上工作,但你需要劫持内置的重定向功能,见下文......

function dj_redirect_hack($url) {
    if ( is_single() and get_post_type() == 'dj' ) $url = false;
    return $url;
}
add_filter('redirect_canonical','dj_redirect_hack');