Voulez-vous ajouter des icônes pour les types de publication personnalisés dans WordPress pour les pages de création et de modification de publication ? C'est facile avec notre extrait de code. Jetons un coup d'œil.
Instructions :
Ajoutez cet extrait au functions.php ou à un plugin spécifique au site. N'oubliez pas de changer l'URL à la ligne 9 pour l'emplacement de votre icône de 24px par 24px.
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
}
Alternativement, vous pouvez utiliser ce code. Cet extrait crée à la fois un type de publication personnalisé (appelé « produits » à la ligne 9) et définit l'icône de menu pour ce type de publication personnalisé. Ajoutez cet extrait au functions.php ou à un plugin spécifique au site. À la ligne 10 de cet extrait, nous définissons l'URL menu_icon pour 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 );
Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière de 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 tels que : Meilleurs constructeurs de pages WordPress (comparés).
Impossible de faire fonctionner cela dans WP 3.2.1. J'ai un thème personnalisé que je développe et j'ai ajouté ma propre fonction dans functions.php et ajouté les actions, mais rien à faire.
Il semble que les seuls styles qui s'appliquent sont ceux de la feuille de style « colors-fresh.css ». J'ai vérifié toutes les fautes d'orthographe et je me suis assuré que mes instructions if correspondent à la bonne définition du type de publication.
Si vous affichez la source sur la page d'administration, vous devriez pouvoir voir si le CSS ci-dessus est ajouté aux bonnes pages d'administration des types de publication personnalisés. Il s'agit simplement de CSS qui remplace les icônes par défaut utilisées. Vous voudrez peut-être aussi essayer d'ajouter !important à la fin du CSS pour vous assurer qu'il remplace tous les défauts.
Bien sûr, 6 minutes plus tard, je trouve la solution. J'ai changé la ligne
en
Cela a semblé être tout ce qui était nécessaire pour résoudre le problème. Je n'ai aucune idée pourquoi la ligne précédente ne fonctionnait pas pour moi car logiquement elle aurait dû fonctionner.Euh, les balises de code ne fonctionnent pas ?
Non :/ pas avec diquss,
cela peut être fait avec un crochet
comme ici
add_action("admin_head", array(&$this, "stylize")); //j'utilise des classes
function stylize() {
global $post_type;
if($post_type == 'billboard') echo '#icon-edit {background: url("'.plugins_url( 'billboard.png', __FILE__ ).'") no-repeat; }';
}
Oui, je pensais utiliser admin_head, cependant nous n'avons besoin de remplacer la grande icône que sur deux pages, donc l'ajouter à admin_head ajouterait toujours le code à chaque page.