替换仪表板中的图标

时间:2014-02-12 作者:JacobTheDev

有没有办法用自定义图标替换WordPress仪表板中的图标?我想一定有办法做到这一点functions.php 或者,更理想的情况是,使用自定义插件,但我不知道如何做这类事情,谷歌让我失望了。特别是,我希望用灰色图标替换Yoast SEO图标,以更好地匹配WordPress主题:

2 个回复
最合适的回答,由SO网友:Sven 整理而成

是的,您可以通过CSS覆盖现有图标来替换它们。

确保检查现有图标是否通过设置imgbackground-image 并添加一些CSS,用其中一个可用图标覆盖它。您可以在Dashicons Website.

要替换Yoast SEO插件的图标,可以将此代码段添加到functions.php:

<?php
add_action( \'admin_head\', \'replace_yoast_admin_menu_icon\' );
function replace_yoast_admin_menu_icon() {
?>

<style type="text/css">
#adminmenu #toplevel_page_wpseo_dashboard div.wp-menu-image img {
  display: none;
}
#adminmenu #toplevel_page_wpseo_dashboard div.wp-menu-image:before {
  content: \'\\f108\';
}
</style>

<?php } ?>
进一步阅读:Shea Bunge还提供了一个关于Replacing WordPress Admin Menu Icons.

更新时间:There will be a white icon in the future :)

更新2:使用实现v1.6.1

SO网友:mrwweb

Dashicons 救命啊!Dashicons是WordPress 3.8+默认附带的图标字体,并为所有核心菜单图标提供电源。

首先,在中为主题的管理特定样式注册自定义样式表functions.php.

// Admin styles
function wpse134414_admin_styles() { 
    wp_enqueue_style( \'wpse134414_admin_styles_custom_admin_styles\', get_template_directory_uri() . \'/css/wpse134414_admin_styles.css\' , false, \'1.0\' );
}
add_action( \'admin_enqueue_scripts\', \'wpse134414_admin_styles_admin_styles\' );
(实际上,我更喜欢在定制中这样做mu-plugin 这需要一个稍有不同的代码段,但我将使用主题管理样式来回答这个问题。)

然后制作该样式表,该示例将其包含在/css/ 活动主题的文件夹,并使用这样的规则以具有正确内容值的图标为目标,以获取您选择的图标(在上面的dashicons链接中找到这些图标):

/* Better Yoast SEO Admin Icon */
/* hide the default icon */
#toplevel_page_wpseo_dashboard .wp-menu-image img {
    display: none;
}
/* add the new dashicon */
#adminmenu #toplevel_page_wpseo_dashboard div.wp-menu-image:before {
    content: "\\f107";

/* style the icon with CSS to make it re-yoasty */
    color: #ef8e02;
    opacity: 0.7;
}
#adminmenu #toplevel_page_wpseo_dashboard a:hover div.wp-menu-image:before {
    opacity: 1;
}
该图标是Dashicons中的扳手图标,实际上看起来有点像默认图标中的负空格。

虽然颜色和悬停状态可能有点过头了,实际上与您首先要替换图标的原因相反,但我将它们包括进来只是为了指出,您可以根据需要使用CSS来设置这些图标的样式。

结束

相关推荐

使用主题文件夹代替plugins_url

我想这很简单,但我无法解决。我正在尝试通过我的主题向WordPress仪表板添加菜单页。我有以下。。。add_menu_page( \'Test\', \'Test\', \'manage_options\', \'myplugin/myplugin-admin.php\', \'\', plugins_url( \'myplugin/image/icon.png\' ), 6 &