WordPress自定义文章类型Beers上/下一篇链接仅显示少量文章问题
嘿,我来帮你梳理下可能导致这个问题的原因,一个个排查应该就能解决:
文章状态不匹配:
previous_post_link()默认只抓取状态为publish(已发布)的文章。如果同分类下其他文章是草稿、待审核或者私密状态,它们不会被纳入上下篇的关联范围。你可以去后台检查那些没被关联到的文章,确认它们的发布状态都是「已发布」。自定义查询的限制:因为你用的是自定义文章类型(Beers),当前页面的主查询可能被额外的代码限制了文章数量。比如主题或插件里用了
query_posts()、pre_get_posts钩子修改了查询参数,不小心把同分类的文章只取了最新2篇。你可以检查模板文件或者主题的functions.php,看看有没有这类修改主查询的代码。分类参数拼写错误:你在函数里指定了分类参数
beer_cat,要确认这个分类的slug完全正确,没有拼写错误。如果slug不对,函数只会匹配到刚好那2篇被错误归类的文章,或者根本找不到正确分类下的内容。另外,previous_post_link()的第五个参数默认不包含子分类,如果你的文章分布在子分类里,也会导致关联不全——这种情况你可能需要自定义逻辑来包含子分类。置顶文章的干扰:如果你的同分类下只有2篇置顶文章,
previous_post_link()默认的排序逻辑会把置顶文章放在最前面,可能导致链接只关联到这2篇。你可以试试取消这些文章的置顶状态,再测试上下篇链接是否能显示更多关联。插件或主题冲突:第三方插件(比如缓存、自定义内容管理插件)或者主题的自定义代码可能干扰了
previous_post_link()的正常工作。你可以先暂时禁用所有插件,切换到WordPress默认主题(比如Twenty Twenty-Four),再测试链接是否正常。如果恢复正常,再逐个启用插件/换回主题,找出冲突的源头。
内容的提问来源于stack exchange,提问作者Jellyman

