函数
wp_admin_bar_new_content_menu ( $wp_admin_bar )
- 参数
-
-
(WP_Admin_Bar)
$wp_admin_bar
The WP_Admin_Bar instance.- Required: 是
-
(WP_Admin_Bar)
- 定义位置
-
-
wp-includes/admin-bar.php
, line 890
-
wp-includes/admin-bar.php
- 引入
- 3.1.0
- 弃用
- –
Adds “Add New” menu.
function wp_admin_bar_new_content_menu( $wp_admin_bar ) {
$actions = array();
$cpts = (array) get_post_types( array( 'show_in_admin_bar' => true ), 'objects' );
if ( isset( $cpts['post'] ) && current_user_can( $cpts['post']->cap->create_posts ) ) {
$actions['post-new.php'] = array( $cpts['post']->labels->name_admin_bar, 'new-post' );
}
if ( isset( $cpts['attachment'] ) && current_user_can( 'upload_files' ) ) {
$actions['media-new.php'] = array( $cpts['attachment']->labels->name_admin_bar, 'new-media' );
}
if ( current_user_can( 'manage_links' ) ) {
$actions['link-add.php'] = array( _x( 'Link', 'add new from admin bar' ), 'new-link' );
}
if ( isset( $cpts['page'] ) && current_user_can( $cpts['page']->cap->create_posts ) ) {
$actions['post-new.php?post_type=page'] = array( $cpts['page']->labels->name_admin_bar, 'new-page' );
}
unset( $cpts['post'], $cpts['page'], $cpts['attachment'] );
// Add any additional custom post types.
foreach ( $cpts as $cpt ) {
if ( ! current_user_can( $cpt->cap->create_posts ) ) {
continue;
}
$key = 'post-new.php?post_type=' . $cpt->name;
$actions[ $key ] = array( $cpt->labels->name_admin_bar, 'new-' . $cpt->name );
}
// Avoid clash with parent node and a 'content' post type.
if ( isset( $actions['post-new.php?post_type=content'] ) ) {
$actions['post-new.php?post_type=content'][1] = 'add-new-content';
}
if ( current_user_can( 'create_users' ) || ( is_multisite() && current_user_can( 'promote_users' ) ) ) {
$actions['user-new.php'] = array( _x( 'User', 'add new from admin bar' ), 'new-user' );
}
if ( ! $actions ) {
return;
}
$title = '' . _x( 'New', 'admin bar menu group label' ) . '';
$wp_admin_bar->add_node(
array(
'id' => 'new-content',
'title' => $title,
'href' => admin_url( current( array_keys( $actions ) ) ),
)
);
foreach ( $actions as $link => $action ) {
list( $title, $id ) = $action;
$wp_admin_bar->add_node(
array(
'parent' => 'new-content',
'id' => $id,
'title' => $title,
'href' => admin_url( $link ),
)
);
}
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。