【问题标题】:Set page as parent of custom post type in WordPress在 WordPress 中将页面设置为自定义帖子类型的父级
【发布时间】:2014-11-12 18:14:07
【问题描述】:

我正在尝试弄清楚如何将自定义帖子类型页面设置为 WordPress 页面的子页面。

例如,我创建了一个名为 Products 的自定义帖子类型,为每个产品创建一个页面。

然而,在我的网站上,层次结构应该是这样的:

Homepage (Wordpress pages)
-Products List Page (Wordpress pages)
--Product detail page (Custom Posts Type 'Products')

问题是,因为我所有的产品详细信息页面都是 CPT,我不能告诉他们它们是 Product List Page 的子页面,这是一个普通的 WordPress 页面。

有人有解决这个问题的办法吗?

【问题讨论】:

  • 我想知道为什么 CPT 需要成为常规页面的子页面。据我所知,您不需要它来完成这项工作。
  • 它需要是一个子页面...因为如果不是我所有的 breacrumb 和导航都会被破坏?

标签: php wordpress


【解决方案1】:

我回答了一个类似的问题here。在注册产品帖子类型的函数中,将 rewrite arg 设置为:

'rewrite' => array( 'slug' => 'product-list/product'),

在本例中,product-list 是页面的 slug。然后,将has_archive 设置为false

'has_archive' => false

进行更改以刷新重写规则后,请访问管理员中的永久链接设置页面。

请注意,这不会使您的产品详细信息页面成为实际的子页面。但是 URL 结构至少会造成它们是的错觉。

【讨论】:

  • 我知道这个技巧,但我想知道是否有任何其他解决方案实际上将 CTF 设置为孩子
  • 您可以连接到 save_post 并将页面 ID 设置为 post_parent 但我不确定这是否有用
猜你喜欢
  • 2017-07-09
  • 2013-10-17
  • 1970-01-01
  • 1970-01-01
  • 2019-05-03
  • 1970-01-01
  • 2019-01-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多