Comment puis-je changer l'icône du menu (provenant de plugins externes, comme WooCommerce) dans la zone wp-admin avec une icône personnalisée? (L'élément de menu est en fait post-type
, donc il devrait y avoir une commande register_post_type
je pense).
WooCommerce donne le style à l’icône via ce fichier CSS: woocommerce/assets/css/menu.css
, et voici le code correspondant ( joli-imprimé ou effectivement, je l’ai copié de woocommerce/assets/css/menu.scss
):
#adminmenu #toplevel_page_woocommerce .menu-icon-generic div.wp-menu-image::before {
font-family: 'WooCommerce' !important;
content: '\e03d';
}
Vous pouvez donc modifier les propriétés font-family
et content
(et autres) en fonction de votre icône personnalisée.
Vous trouverez ci-dessous un exemple de personnalisation de l'icône en la modifiant pour utiliser un background-image
:
// We hook to the `admin_enqueue_scripts` action with a priority of `11`, where
// at this point, the default CSS file should have been loaded. But you can or
// should add the CSS rule to your custom CSS file; just make sure it's loaded
// *after* the default CSS file.
add_action( 'admin_enqueue_scripts', function(){
$css = <<<EOT
#adminmenu #toplevel_page_woocommerce .menu-icon-generic div.wp-menu-image::before {
content: ' ';
background: url('https://png.icons8.com/dusk/2x/e-commerce.png') no-repeat center;
background-size: contain;
}
EOT;
wp_add_inline_style( 'woocommerce_admin_menu_styles', $css );
}, 11 );
Remarque: Le fichier menu.css
est enregistré et mis en file d'attente dans WC_Admin_Assets::admin_styles()
avec le descripteur/nom de woocommerce_admin_menu_styles
.
pour ajouter une image personnalisée, vous pouvez utiliser ce code. l'image originale est définie avec CSS, vous devez ensuite ajouter du CSS personnalisé pour le supprimer.
add_action("admin_menu", function () {
foreach ($GLOBALS["menu"] as $position => $tab) {
if ("woocommerce" === $tab["2"]) {
$GLOBALS["menu"][$position][6] = "http://server/image.png";
break;
}
}
});