X

Comment ajouter des icônes pour un type d’article personnalisé dans WordPress

Snippets by IsItWP

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).

Commentaires   laisser une réponse

  1. 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.

    1. 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.

    2. 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.

      1. Uh, code tags not work?

        1. Nope :/ not in with diquss,

  2. 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; }';
    }

    1. 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.

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre privacy policy, et que tous les liens sont en nofollow. N'utilisez PAS de mots-clés dans le champ du nom. Engageons une conversation personnelle et constructive.

WordPress Launch Checklist

L'ultime liste de contrôle pour le lancement de WordPress

Nous avons rassemblé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi le gratuit !