按类别列出的带有自定义重写URL的CPT帖子,请帮助!

时间:2014-06-30 作者:user3784685

以下是我想做的:

我总共有10份甜点食谱(在共享甜点类别中),分为2种自定义帖子类型。我想用下面描述的自定义URL结构创建这些帖子的3个不同视图:

食谱1-3(CPT“a”)的URL为:“主页/%posttype%/%category%/”

  • 食谱4-10(CPT“b”),URL为:“主页/%posttype%/%category%/”
  • 食谱1-10(所有CPT),URL为:“主页/%category%/”
    1. 我已经广泛搜索了一个答案,以完成我目标的URL和内容方面,但我尝试的每件事都只针对其中一个方面。

      例如:对于内容,我使用了get_posts() 用于查看特定类别和帖子类型的参数,但由于模板分配给“页面”,wordpress生成的URL不包括自定义帖子类型,结果是:

      主页/%pagename%/

      对于URL,我尝试使用init操作来修改本论坛中建议的重写规则here 虽然这样创建的URL结构完全符合我的要求,但URL的内容输出与预期不匹配。结果是,所有三个URL都有10个配方(基本上是通用类别归档页面):

      “home/%posttype%/%category%/”与“home/%category%/”相同,我不知道为什么。

      我还向pre_get_posts 将我的CPT包含在主查询中,以便它们显示出来。虽然考虑到我从WP codex here 在“主查询中的自定义帖子类型”下,我认为问题/解决方案似乎在我没有看到的地方。

      我无法想象我想要的东西会那么复杂。有人能看到我遗漏了什么吗?

      谢谢

    1 个回复
    SO网友:s1lv3r

    我确实看过你的代码,看到你更改了原来的代码。

    以更清楚地了解使用此代码段可以实现什么。您将得到以下永久链接:

    /recetas-argentinas/category/desserts
    
    显示所有带有post\\U型阿根廷接收器和甜品类别的贴子。

    /recetas-argentinas/my-single-recept-post
    
    显示了post\\u类型recetas argentinas的单个立柱。

    我只是使用了original link 这对我很有用。

    下面是重写分析器的屏幕截图,展示了它是如何工作的。基本上,您在顶部的输入字段中输入一个URL,插件将显示哪些重写规则将与此URL匹配:

    Showing usage of Monkeyman Rewrite Analyzer

    另外,请注意Category base 在permalink设置中也会对此产生影响。要拥有像上面这样的永久链接结构,您必须将其留空。

    希望这能帮助你达到目标。

    <小时>

    Old answer

    我不确定我完全明白你的问题,但从以下两句话中:

    我已经设法使用WP\\u query创建了一个页面模板[...] 然而,我无法找出这个已过滤类别存档的URL结构或段塞

    页面模板没有永久链接结构。它只不过是一个分配给单个页面的模板,即使您使用它来显示“类似存档”的帖子列表。

    另外两条建议:

    对于任何重写问题(尤其是关于冲突重写结构的问题),最好使用Monkeyman Rewrite Analyzer.

  • register_post_type() 广泛支持创建自定义永久链接选项,可帮助您避免永久链接冲突
  • 结束

    相关推荐

    Show post categories

    我正在尝试显示一些面包屑的帖子类别。目前,我有:the_category(\' / \', \'multiple\'); 但出于某种原因,它两次声明了父类别(我只想parent > child):FASHION / DAILY FASHION CANDY / FASHION 它应该是:FASHION / DAILY FASHION CANDY 有人知道它为什么这样做,以及如何改变它吗?