WooCommerce admin bar快捷菜单
优质
小牛编辑
134浏览
2023-12-01
WooCommerce网站的插件一般较多,这样后台菜单会很长,想找到自己想用的功能会有困难。因此,本文介绍一种在wp admin bar增加WooCommerce admin bar快捷菜单的方法。
本文用到了自定义WordPress admin bar菜单中提到的方法。
WooCommerce admin bar快捷菜单代码
代码放在子主题的functions.php
中。
if( is_user_logged_in() && current_user_can('manage_options') ){
add_action( 'wp_footer', 'sola_admin_bar_custom_styles' );
add_action( 'admin_footer', 'sola_admin_bar_custom_styles' );
function sola_admin_bar_custom_styles(){
?>
<style>
@media screen and (max-width: 782px){
#wpadminbar li#wp-admin-bar-sola_quick_menu{
display: block;
position: static;
}
#wpadminbar li#wp-admin-bar-sola_quick_menu svg{
width: 28px;height: 28px;
}
}
</style>
<?php
}
/**
* Add custom menu items to admin bar
* 向admin bar里添加自定义链接
*
*/
add_action( 'wp_before_admin_bar_render', 'sola_toolbar_quick_menu');
function sola_toolbar_quick_menu() {
global $wp_admin_bar;
$svg_icon = '<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="hsl(132deg 90% 63%)"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M7 10c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm8.01-1c-1.65 0-3 1.35-3 3s1.35 3 3 3 3-1.35 3-3-1.35-3-3-3zm0 4c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zM16.5 3C13.47 3 11 5.47 11 8.5s2.47 5.5 5.5 5.5S22 11.53 22 8.5 19.53 3 16.5 3zm0 9c-1.93 0-3.5-1.57-3.5-3.5S14.57 5 16.5 5 20 6.57 20 8.5 18.43 12 16.5 12z"/></svg>';
// Parent menu item ID
$menu_id = 'sola_quick_menu';
$menu_items = array(
array(
'id' => 'sola_quick_menu',
'title' => sprintf('<span>%s</span><span>%s</span>',$svg_icon,'我的快捷菜单'),
'href' => '#',
'meta' => array(
'class' => 'menupop'
),
),
// Group Status
array(
'id' => 'group-status',
'parent' => $menu_id,
'group' => true,
),
array(
'id' => 'manage_orders',
'title' => 'Orders',
'href' => admin_url() . 'edit.php?post_type=shop_order',
'parent' => 'group-status',
),
array(
'id' => 'manage_customers',
'title' => 'Customers',
'href' => admin_url() . 'admin.php?page=wc-admin&path=%2Fcustomers',
'parent' => 'group-status',
),
array(
'id' => 'wc_analytics',
'title' => 'Store Analytics',
'href' => admin_url() . 'admin.php?page=wc-admin&path=%2Fanalytics%2Foverview',
'parent' => 'group-status',
),
// group-store-manager
array(
'id' => 'group-store-manager',
'parent' => $menu_id,
'group' => true,
),
array(
'id' => 'manage_products',
'title' => 'Products',
'href' => admin_url() . 'edit.php?post_type=product',
'parent' => 'group-store-manager',
),
array(
'id' => 'manage_store_notice',
'title' => 'Store Notice',
'href' => get_admin_url().'customize.php?url=&autofocus%5Bsection%5D=woocommerce_store_notice',
'parent' => 'group-store-manager',
),
array(
'id' => 'manage_shippings',
'title' => 'Shipping Rules',
'href' => admin_url() . 'admin.php?page=wc-settings&tab=shipping§ion=wbs',
'parent' => 'group-store-manager',
),
array(
'id' => 'manage_coupons',
'title' => 'Coupons',
'href' => admin_url() . 'edit.php?post_type=shop_coupon',
'parent' => 'group-store-manager',
),
// group-wp-manager
array(
'id' => 'group-wp-manager',
'parent' => $menu_id,
'group' => true,
),
array(
'id' => 'manage_plugins',
'title' => 'Manage Plugins',
'href' => admin_url() . 'plugins.php',
'parent' => 'group-wp-manager',
),
array(
'id' => 'manage_users',
'title' => 'Manage WP Users',
'href' => admin_url() . 'users.php',
'parent' => 'group-wp-manager',
),
);
foreach( $menu_items as $menu_item_option ){
$wp_admin_bar->add_menu( $menu_item_option );
}
}
}