wp_admin_bar_customize_menu

函数
wp_admin_bar_customize_menu ( $wp_admin_bar )
参数
  • (WP_Admin_Bar) $wp_admin_bar The WP_Admin_Bar instance.
    Required:
定义位置
相关方法
wp_admin_bar_site_menuwp_admin_bar_comments_menuwp_admin_bar_updates_menuwp_admin_bar_my_sites_menuwp_admin_bar_edit_menu
引入
4.3.0
弃用
-

wp_admin_bar_customize_menu: 这个函数用于在WordPress管理栏中添加一个”自定义”菜单: 该函数需要一个参数:$wp_admin_bar。$wp_admin_bar是WordPress管理栏的实例,该菜单应该被添加到其中。

在工具栏中增加了"自定义"链接。

function wp_admin_bar_customize_menu( $wp_admin_bar ) {
	global $wp_customize;

	// Don't show if a block theme is activated and no plugins use the customizer.
	if ( wp_is_block_theme() && ! has_action( 'customize_register' ) ) {
		return;
	}

	// Don't show for users who can't access the customizer or when in the admin.
	if ( ! current_user_can( 'customize' ) || is_admin() ) {
		return;
	}

	// Don't show if the user cannot edit a given customize_changeset post currently being previewed.
	if ( is_customize_preview() && $wp_customize->changeset_post_id()
		&& ! current_user_can( get_post_type_object( 'customize_changeset' )->cap->edit_post, $wp_customize->changeset_post_id() )
	) {
		return;
	}

	$current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
	if ( is_customize_preview() && $wp_customize->changeset_uuid() ) {
		$current_url = remove_query_arg( 'customize_changeset_uuid', $current_url );
	}

	$customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
	if ( is_customize_preview() ) {
		$customize_url = add_query_arg( array( 'changeset_uuid' => $wp_customize->changeset_uuid() ), $customize_url );
	}

	$wp_admin_bar->add_node(
		array(
			'id'    => 'customize',
			'title' => __( 'Customize' ),
			'href'  => $customize_url,
			'meta'  => array(
				'class' => 'hide-if-no-customize',
			),
		)
	);
	add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
}

常见问题

FAQs
查看更多 >