首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CPT文章按类别列出与自定义重写URL,请帮助!

CPT文章按类别列出与自定义重写URL,请帮助!
EN

WordPress Development用户
提问于 2014-06-30 04:03:31
回答 1查看 205关注 0票数 2

以下是我要做的事:

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

  1. 菜谱1-3 (CPT "a")带有URL:“home/%posttype%/%CPT%/”
  2. 菜谱4-10 (CPT "b")带有URL:“home/%posttype%/%CPT%/”
  3. 菜谱1-10 (所有CPT)有URL:“home/%类别%/”

我已经搜索了很远的答案,完成了我的目标的URL和内容两个方面,但是我所尝试的一切都只解决了其中一个问题。

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

主页/%页面名%/

对于URL,我尝试使用init操作来修改这个论坛这里中建议的重写规则,尽管它创建了一个与我想要的结构完全相同的URL结构,但是该URL的内容输出与预期的不匹配。结果是,所有三个URL都有所有10个菜谱(基本上是一般类别存档页面):

“home/%home类型%/%类别%/”与“home/%类别%/”相同,我不知道原因。

我还向pre_get_posts添加了一个过滤器,以便在主查询中包含我的CPT,这样它们就会出现。不确定是否有更好的方法来避免干扰URL重写,尽管考虑到我在“主查询中的自定义Post类型”下从可湿性粉剂获取的代码,我认为问题/解决方案就在我似乎没有考虑的地方。

我无法想象我想要的东西会这么复杂。有人能看到我错过了什么吗?

谢谢!!

EN

回答 1

WordPress Development用户

发布于 2014-06-30 19:32:48

我看了你的代码,看到你改变了原来的代码。

为了更清楚地知道你可以用这个片段实现什么。您将得到以下permalinks:

代码语言:javascript
运行
复制
/recetas-argentinas/category/desserts

显示所有张贴与post_type电子邮件-阿根廷和类别甜点。

代码语言:javascript
运行
复制
/recetas-argentinas/my-single-recept-post

展示了post_type的一个帖子-阿根廷。

我确实使用了来自原始链接的代码片段,它对我很有用。

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

此外,请注意,Category base在您的permalink设置也有影响这一点。要像上面那样拥有一个permalink结构,就必须将其保持为空。

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

旧答案

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

我已经成功地使用WP_query创建了一个页面模板...,但是,我无法为这个过滤的类别存档找出URL结构或片段

页面模板没有permalink结构。它不过是一个分配给单个页面的模板--即使您使用它来显示“归档类”的帖子列表。

另外两项建议:

  • 对于任何重写问题(特别是关于冲突的重写结构),使用猴人重写分析器调试permalinks是个好主意。
  • 寄存器_帖子_类型()广泛支持创建自定义permalink选项,这些选项可以帮助您避免permalink冲突。

即使这不能直接回答你的问题,我也希望这对你有所帮助。

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/152201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档