如何在自定义帖子类型下添加常规页面?

时间:2016-03-25 作者:Gustavo Straube

我正在建立一个WordPress网站,该网站应具有以下结构:

项目A(项目帖子类型)关于(常规页面)位置(常规页面)合作伙伴(常规页面)新闻(常规页面)如您所见,每个项目下方都可以有随机页面。管理员应该能够添加任何他想要的页面。

我根据设置hierarchical 属性从我的自定义帖子类型到true 并使其支持page-attributes. 这些不符合我的需要,因为它只允许添加project 在另一个下面project.

有没有办法满足我的需求?

1 个回复
SO网友:Beirdo Studio

我想你在找这样的东西(从Post parent of different type):

我很激动地发现我可以用WordPress自定义帖子类型做些什么,但对于无法将帖子的父级设置为不同类型的帖子,我感到非常失望。也就是说,假设您创建了自定义帖子类型“Chapter”,则无法将“Chapter”帖子的父级设置为“Part”帖子。父级必须是同一类型。

我找到了一个简单的解决方法,它基本上取代了WP对父类型的“限制”。除了编辑帖子页面上的元框之外,实际上对父级可能是什么帖子类型没有限制。

add_action( \'admin_menu\', function() { 
  remove_meta_box( \'pageparentdiv\', \'chapter\', \'normal\' ); } );
add_action(\'add_meta_boxes\', function() { add_meta_box( 
  \'chapter-parent\', \'Part\', \'chapter_attributes_meta_box\', \'chapter\', \'side\', \'high\'); } );

function chapter_attributes_meta_box( $post ) {
  $post_type_object = get_post_type_object( $post->post_type );
  if ( $post_type_object->hierarchical ) {
      $pages = wp_dropdown_pages(array(
          \'post_type\' => \'part\', 
          \'selected\' => $post->post_parent, 
          \'name\' => \'parent_id\', 
          \'show_option_none\' => __( \'(no parent)\' ), 
          \'sort_column\'=> \'menu_order, post_title\', 
          \'echo\' => 0
      ) );
      if ( ! empty( $pages ) ) {
          echo $pages;
      } // end empty pages check
  } // end hierarchical check
}

相关推荐

如何在WooCommerce总价金额->ProductPages下增加保证金

我对ProductPage上的woocommerce价格金额有两个问题。第一个问题:我想在总价格金额下增加更多保证金,并按下“添加到卡”按钮我怎样才能做到这一点?(示例见下图)第二我只想显示总价。现在我得到了可变产品的最低价格,显示在产品标题下面,以及总价格金额。我只想显示总价。已经谢谢你了!