Voulez-vous ajouter des icônes pour les types d’articles personnalisés dans WordPress pour les pages de nouveaux articles et les pages d’édition ? C’est facile avec notre extrait de code. Jetons un coup d’œil.
Instructions:
Ajoutez cet extrait de code au fichier functions.php ou à un plugin spécifique au site. N’oubliez pas de remplacer l’URL de la ligne 9 par l’emplacement de votre icône de 24 px par 24 px.
add_action( 'admin_head-post.php', 'post_type_icon'); add_action( 'admin_head-post-new.php', 'post_type_icon'); function post_type_icon() { global $post_type; ?> <style> <?php if($post_type == 'products'){ ?> #icon-edit { background: url('<?php echo 'http://example.com/wp-content/themes/theme_name/i/icon_24x24.png';?>') no-repeat; } <?php } ?> </style> <?php }
Vous pouvez également utiliser ce code. Cet extrait crée un type d’article personnalisé (appelé “products” à la ligne 9) et définit l’icône de menu pour ce type d’article personnalisé. Ajoutez cet extrait au fichier functions.php ou à un plugin spécifique au site. À la ligne 10 de ce snippet, nous définissons l’URL menu_icon
à l’emplacement de l’image d’icône de 16px par 16px à afficher dans le menu d’administration.
$args = array( 'label' => __('Products'), 'singular_label' => __('Product'), 'public' => true, 'show_ui' => true, 'capability_type' => 'page', 'hierarchical' => false, 'rewrite' => true, 'query_var' => 'products', 'menu_icon' => 'http://site.com/wp-content/themes/theme_name/i/icon_16x16.png', 'supports' => array('title','editor','comments','thumbnail') ); register_post_type( 'product' , $args );
Note : Si c’est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez vous référer à notre guide sur comment copier/coller correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.
Si vous avez aimé cet extrait de code, n’hésitez pas à consulter nos autres articles sur le site comme : Les meilleurs constructeurs de pages WordPress (comparés).
Cannot seem to get this to work in WP 3.2.1. I have a custom theme I’m developing and I’ve added my own function into the functions.php and added the actions, but no dice.
It appears as though the only styles that are applying to it are from the “colors-fresh.css” stylesheet. I’ve checked all misspellings and made sure that my if statements match up with the correct post type definition.
If you view the source on the admin page you should be able to see if the css above is added to the proper custom post type admin pages. This is simply css that overrides he default icons used. You may also want to try adding !important to the end of the css to make sure it would override any defaults.
Of course 6 minutes later, I figure it out. I switched the line
to
This seemed to be all that was necessary to fix it. No idea why the previous line wasn't working for me because logically it should have been.
Uh, code tags not work?
Nope :/ not in with diquss,
it can be done with one hook
like here
add_action("admin_head", array(&$this, "stylize")); //i use classes
function stylize() {
global $post_type;
if($post_type == 'billboard') echo '#icon-edit {background: url("'.plugins_url( 'billboard.png', __FILE__ ).'") no-repeat; }';
}
Yes I was thinking about using admin_head, however we only need to replace the large icon on two pages so adding to the admin_head would still add the code to every page.