I assume you are wanting to add custom icons to the dashboard? Well with the latest update in wordpress to 3.8, dashboard icons have changed. They are now actually a font. This is actually quite cool as fonts can easily change colors with css and are responsive in size as well.
First I will tell you how to add a custom icon using the pre-built dashicons that have been created by the MP6 team (developers of the latest dashboard). Head on over to http://melchoyce.github.io/dashicons/ to view all of the currently available dashicons. If you want to make a change to a current menu item, this is the function to do it. Add this to your themes’ functions.php file or to your custom plugin. This would change the default icon for the “Posts” menu:
function custom_post_css() {
echo "<style type='text/css' media='screen'>
#adminmenu .menu-icon-post div.wp-menu-image:before {
content: '\f337'; // this is where you enter the dashicon font code
}
</style>";
}
add_action('admin_head', 'custom_post_css');
If you want to add a icon for a custom post type, it is much the same with a little twist:
function cptname_custom_css() {
echo "<style type='text/css' media='screen'>
#adminmenu .menu-icon-cptname div.wp-menu-image:before {
content: '\f337'; // this is where you enter the dashicon font code
}
</style>";
}
add_action('admin_head', 'cptname_custom_css');
Insert your custom post type name in place of “cptname”. Now the twist. We have to add a class to our custom post type css. To do this, we simply add a line of code to our custom post type registration hook:
Now, if you want to use the font awesome icons, we just need to upload them to our theme.
Download the font and put the CSS and font files in the appropriate folder of your current theme. Then we need to add some more code to our themes functions.php file or your custom plugin:
And now we use the code above to selectively pick our new icons. This would once again change the “Posts” menu icon using the FontAwesome icon set:
function custom_post_css() {
echo "<style type='text/css' media='screen'>
#adminmenu .menu-icon-post div.wp-menu-image:before {
font-family: FontAwesome !important;
content: '\fa-apple'; // this is where you enter the dashicon font code
}
</style>";
}
add_action('admin_head', 'custom_post_css');
Hope this helps you. I haven’t actually used the font awesome icons yet, but have been customizing my dashboard icons already. I’m loving the latest dashboard overhaul, but there is a learning curve.
Just made an edit: I tried out some things here and actually used the font-awesome icons on my own site:
add this to your functions.php or plugin:
function font_admin_init() {
wp_enqueue_style('font-awesome', 'http://netdna.bootstrapcdn.com/fontawesome/3.1.1/css/font-awesome.css');
}
add_action('admin_init', 'font_admin_init');
then add this to select the actual icon:
function custom_post_css() {
echo "<style type='text/css' media='screen'>
#adminmenu .menu-icon-post div.wp-menu-image:before {
font-family: FontAwesome !important;
content: '\f0f2'; // this is where you enter the fontaweseom font code
}
</style>";
}
add_action('admin_head', 'custom_post_css');
You can find the codes listed in the css file.
For Front End, I’m using this:
// Add font awesome CSS http://fortawesome.github.io/Font-Awesome/examples/
function awesome_css() {
wp_enqueue_style("fontawesome", 'http://netdna.bootstrapcdn.com/font-awesome/3.1.1/css/font-awesome.css');
}
add_action( 'wp_enqueue_scripts', 'awesome_css' );
I assume you are wanting to add custom icons to the dashboard? Well with the latest update in wordpress to 3.8, dashboard icons have changed. They are now actually a font. This is actually quite cool as fonts can easily change colors with css and are responsive in size as well.
First I will tell you how to add a custom icon using the pre-built dashicons that have been created by the MP6 team (developers of the latest dashboard). Head on over to http://melchoyce.github.io/dashicons/ to view all of the currently available dashicons. If you want to make a change to a current menu item, this is the function to do it. Add this to your themes’ functions.php file or to your custom plugin. This would change the default icon for the “Posts” menu:
If you want to add a icon for a custom post type, it is much the same with a little twist:
Insert your custom post type name in place of “cptname”. Now the twist. We have to add a class to our custom post type css. To do this, we simply add a line of code to our custom post type registration hook:
So our whole registration hook looks like so:
Now, if you want to use the font awesome icons, we just need to upload them to our theme.
Download the font and put the CSS and font files in the appropriate folder of your current theme. Then we need to add some more code to our themes functions.php file or your custom plugin:
And now we use the code above to selectively pick our new icons. This would once again change the “Posts” menu icon using the FontAwesome icon set:
Hope this helps you. I haven’t actually used the font awesome icons yet, but have been customizing my dashboard icons already. I’m loving the latest dashboard overhaul, but there is a learning curve.
Just made an edit: I tried out some things here and actually used the font-awesome icons on my own site:
add this to your functions.php or plugin:
then add this to select the actual icon:
You can find the codes listed in the css file.
For Front End, I’m using this:
To add in Admin, have a look here: https://github.com/raket/fontawesome-for-wordpress/blob/master/fontawesome.php which seems to have a solution that would work
Step by Step example using FontAwesome:
Including color and custom post types ð
1 Pick an icon
2 Get the SVG
fa
prefix – in my case, that is “flask.svg”.Bring the SVG into WordPress
Inside your
functions.php
, where you register your custom post type, add the following snippet:Important notes:
base64_encode
is the copied raw string from Font Awesomes github page.fill="black"
attribute to the path/s elements – this allows the color to be change by WordPress.You can add directly svg as url format inside add_menu_page. Modified a little @Chris answer above.
example: