首页 > 解决方案 > 如何在同一层次结构上拥有页面和自定义帖子类型

问题描述

我正在寻找一种在 WordPress 的相同 url 层次结构中拥有“工作”和带有“申请表”的页面的方法。

工作(CPT):

/jobs/engineer/
/jobs/ceo/

申请表页面(Page):

/jobs/application-form/

据我了解,不可能在 WordPress 中混合使用“帖子”和“页面”。

也许我必须通过在工作中添加“/detail/”或其他内容来帮助自己。

感谢帮助!

标签: wordpresscustom-post-type

解决方案


据我了解,不可能在 WordPress 中混合使用“帖子”和“页面”。

没错,因为帖子不是分层的,但页面是分层的。

当您注册自定义帖子类型时,register_post_type()您可以使用 arguments 将其设置为分层hierarchical。默认值为假。

如果您设置'hierarchical' => true自定义帖子类型,它将像 PAGE 一样具有分层功能。如果您设置'hierarchical' => false自定义 POST 类型,它将像一个帖子一样,没有分层功能。

完成此操作后,将自定义帖子类型设置为jobswith'hierarchical' => true并创建一个名为的父页面details和一个名为的子页面后application-form,您将获得/jobs/details/application-form/.

add_action( 'init', function() {
  $args = [
    // ...
    'hierarchical' => true,
    // ...
  ];
  register_post_type( '_your_custom_post_type_slug_', $args );
} );

推荐阅读