如何在插件菜单中如何使用WordPress默认的菜单图标

穷则独善其身,达则兼善天下。没有梦想的人到达不了成功的彼岸,也就因此而看不到成功的辉煌。没有梦想的人生是失败的,因为他们根本看不到生命的意义。

作为WordPress主题或插件开发者,你可能知道通过 add_menu_page() 函数来给你的主题或插件添加一个顶级菜单,并且通过 $icon_url 参数来定义一个菜单图标。但是如果你想直接调用WordPress默认的菜单图标的话,请继续往下看。

每个WordPress菜单图标都对应一个CSS类,你可以通过它来和你的自定义菜单进行关联。以下是 WP 3.5.2 所用图标(以后的图标版本可能会不一样)

WordPress会自动分配一个图标和CSS类给没有自定义图标的菜单,add_menu_page() 函数没有办法自定义菜单的 CSS 类,唯一的办法就是直接修改用户存储顶级菜单的全局 $menu 数组。以下是一个专门解决这个问题的函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
 * 将菜单的图标设置为任何一个WordPress默认菜单图标
 *
 * @param 字符串 $menu_slug 是传递给 add_menu_page() 函数的菜单别名或链接
 * @param 字符串 $icon_class_name 是图标的 CSS 类,例如 "menu-icon-settings".
 * @return bool True if the menu was found and modified successfully, false otherwise.
 */
function set_menu_icon_class($menu_slug, $icon_class_name) {
    global $menu;

    $slug_index = 2;
    $css_class_index = 4;
    $icon_url_index = 6;

    foreach ($menu as $position => $item) {
        if ( $item[$slug_index] == $menu_slug ) {
            $item[$icon_url_index] = '';
            $item[$css_class_index] .= ' ' . $icon_class_name;

            $menu[$position] = $item;
            return true;
        }
    }

    return false;
}

/** * 将菜单的图标设置为任何一个WordPress默认菜单图标 * * @param 字符串 $menu_slug 是传递给 add_menu_page() 函数的菜单别名或链接 * @param 字符串 $icon_class_name 是图标的 CSS 类,例如 "menu-icon-settings". * @return bool True if the menu was found and modified successfully, false otherwise. */ function set_menu_icon_class($menu_slug, $icon_class_name) { global $menu; $slug_index = 2; $css_class_index = 4; $icon_url_index = 6; foreach ($menu as $position => $item) { if ( $item[$slug_index] == $menu_slug ) { $item[$icon_url_index] = ''; $item[$css_class_index] .= ' ' . $icon_class_name; $menu[$position] = $item; return true; } } return false; }

该函数的使用范例:将 menu-icon-site 这个图标添加到别名为 example-menu 的菜单中

1
2
3
4
5
6
7
8
9
10
11
12
13
function create_example_menu() {
    $menu_slug = 'example-menu';
    add_menu_page(
        'Example Menu',
        'Example Menu',
        'read',
        $menu_slug,
        '__return_null' //Will result in an empty page.
    );

    set_menu_icon_class($menu_slug, 'menu-icon-site');
});
add_action('admin_menu', 'create_example_menu');

function create_example_menu() { $menu_slug = 'example-menu'; add_menu_page( 'Example Menu', 'Example Menu', 'read', $menu_slug, '__return_null' //Will result in an empty page. ); set_menu_icon_class($menu_slug, 'menu-icon-site'); }); add_action('admin_menu', 'create_example_menu');

参考资料:http://w-shadow.com/blog/2012/07/10/using-default-admin-menu-icons/

以上就是如何在插件菜单中如何使用WordPress默认的菜单图标。企业强大难,保持长盛不衰更难;重要的不是个别人,一部分人,而是全体人员,即每一个细胞都充满活力才行。更多关于如何在插件菜单中如何使用WordPress默认的菜单图标请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress做公司官网好吗?会不会显得档次很低?

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?