函数文档

_add_post_type_submenus()

💡 云策文档标注

概述

_add_post_type_submenus() 是一个 WordPress 内部函数,用于为自定义文章类型添加子菜单到管理后台菜单中。它通过遍历所有显示在 UI 中的文章类型,并根据其配置动态创建子菜单项。

关键要点

  • 函数遍历所有设置了 'show_ui' => true 的文章类型。
  • 仅当文章类型的 show_in_menu 属性为 false 或非布尔值时,才会添加子菜单。
  • 使用 add_submenu_page() 函数来添加子菜单,参数包括父菜单、标签、权限和编辑链接。

代码示例

foreach ( get_post_types( array( 'show_ui' => true ) ) as $ptype ) {
    $ptype_obj = get_post_type_object( $ptype );
    // Sub-menus only.
    if ( ! $ptype_obj->show_in_menu || true === $ptype_obj->show_in_menu ) {
        continue;
    }
    add_submenu_page( $ptype_obj->show_in_menu, $ptype_obj->labels->name, $ptype_obj->labels->all_items, $ptype_obj->cap->edit_posts, "edit.php?post_type=$ptype" );
}

📄 原文内容

Adds submenus for post types.

Source

function _add_post_type_submenus() {
	foreach ( get_post_types( array( 'show_ui' => true ) ) as $ptype ) {
		$ptype_obj = get_post_type_object( $ptype );
		// Sub-menus only.
		if ( ! $ptype_obj->show_in_menu || true === $ptype_obj->show_in_menu ) {
			continue;
		}
		add_submenu_page( $ptype_obj->show_in_menu, $ptype_obj->labels->name, $ptype_obj->labels->all_items, $ptype_obj->cap->edit_posts, "edit.php?post_type=$ptype" );
	}
}

Changelog

Version Description
3.1.0 Introduced.