将fontastic.me排入'dashicons'而不阻止现有的Wordpress仪表板

时间:2017-11-10 11:00:49

标签: php css wordpress fontastic dashicons

我想要实现的目标:

我想在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库,而不是覆盖它将非常感激。感谢。

1 个答案:

答案 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)正在使用的解决方案可能是最好的选择。