我想要实现的目标:
我想在Wordpress网站上使用自定义图标(包括管理员菜单中)。
到目前为止我做了什么
我已经在fontastic.me上设置了一个帐户,并使用以下函数将以下内容排入字体:function.php挂钩到'admin print styles'
wp_enqueue_style('fontastic-css', 'https://file.myfontastic.com/<mycode>/icons.css');
我已将我的图标名称设置为'dashicons',因为这样您可以直接在管理菜单中使用它们,例如。
add_menu_page(
'Page Title',
'Menu Title',
'Capability',
'menu_slug',
[ $this, 'call_back' ],
'dashicons-custom-icon-name',
1
);
如果你打电话给别人,例如自定义图标,你不能轻易使用它们。
我也尝试过以其他方式排队,但问题与下面的文档相同。
有什么问题?
但是,通过这样做,我显然会覆盖/阻止/通常干扰Wordpress提供的现有“dashicons”库。
这意味着整个Wordpress中任何不在我的库中的仪表板都无法加载,我的空格中留下空方块。
任何帮助确定我如何添加到dashicons库,而不是覆盖它将非常感激。感谢。
答案 0 :(得分:0)
此问题的解决方案是执行以下操作:
1)返回fontastic.me并更改字体,使其不再是“dashicons”,而是其他内容,例如'customicons'。
2)从菜单功能中删除代码'dashicons-custom-icon-name' - 默认使用标准'dashicons-admin-generic'。
3)从fontastic me下载你的字体并打开一个编辑器 - 所以你有一个所有图标代码的参考 - 我在网站上找不到这些。
4)在您的样式表中为您想要定位的每个图标添加以下内容
#adminmenu li.toplevel_page_bnfo_database div.wp-menu-image.dashicons-admin-generic:before { // change 'menu_slug' to whatever your menu slug is
font-family: yourfont; // this needs to be whatever you called it on fontastic.me
content: "\62"; // Whichever icon you want to show.
}
为什么这不是一个完美的解决方案
这似乎需要更多代码,并且比我最初追求的解决方案更加繁琐。
然而,插件提供商(例如WooCommerce)正在使用的解决方案可能是最好的选择。