_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. |