Accueil » Snippets WordPress » Ajouter les custom post types dans l’encart “D’un coup d’oeil” de l’administration
Ajouter les custom post types dans l’encart “D’un coup d’oeil” de l’administration
J'espère que cet article sera utile pour votre site WordPress.
Besoin de plus de trafic de Google ? Alors commencez par apprendre comment fonctionnent les moteurs de recherche avec le mini-cours SEO de WPMarmite 🔗. C'est gratuit. 😉
Vous situez le tableau “d’un coup d’oeil” de l’administration de WordPress ? C’est l’encart qui vous permet de voir votre nombre d’articles, de commentaires, de pages etc. quand vous vous connectez.
Il ressemble à ceci :
Eh bien si vous utilisez les custom post types sur votre site, vous pouvez les inclure ici.
Voici le code à copier-coller dans le fichier functions.php de votre thème enfant :
// Afficher le nombre de types de contenus dans l'encart "D'un coup d'oeil" du tableau de bord de WordPress
// On va récupérer le nombre de chaque Custom Post Type function wpm_custom_posttype_glance_items() { $glances = array();
$args = array( 'public' => true, // On ne montre que les CPT publics '_builtin' => false // On n'affiche pas les posts types de base de WordPress (page, post, ...) ); // On récupère chaque CPT $post_types = get_post_types($args, 'object', 'and'); foreach ($post_types as $post_type) { // On compte le nombre de posts par CPT $num_posts = wp_count_posts($post_type->name); // On formatte le nombre suivant la locale de WordPress (pour afficher une virgule pour les milliers par exemple) $num = number_format_i18n($num_posts->publish); // On formatte le texte pour utiliser soit le singulier soit le pluriel suivant le nombre de posts $text = _n($post_type->labels->singular_name, $post_type->labels->name, intval($num_posts->publish)); // Si l'utilisateur actuel a le droit d'éditer les types de contenus, on créé des liens if (current_user_can('edit_posts')) { // On affiche un lien pour éditer si l'utilisateur a les droits $glance = '<a class="'.$post_type->name.'-count" href="'.admin_url('edit.php?post_type='.$post_type->name).'">'.$num.' '.$text.'</a>'; } else { // Sinon on affiche simplement le nombre sans liens. $glance = '<span class="'.$post_type->name.'-count">'.$num.' '.$text.'</span>'; } // On sauvegarde tout ça dans un tableau $glances[] = $glance; } // On récupère le tableau return $glances; }
Voilà, maintenant vos post types sont affichés dans l’encart “D’un coup d’oeil” :
Vous êtes à la recherche d’un hébergeur ? Ne cherchez plus et foncez chez o2switch (Non seulement les performances sont au rendez-vous mais le support est exceptionnel).
Hello 🙂 Super, on vient de le rajouter sur le Blog du MMI pour notre dashboard ! Juste une petite correction pour l’affichage du lien si on a les droit d’édition, il y a une petite coquille qui fait planter le script :
Salut, je pense parce que dès que j’ai ajouté le script, ça a planté le site, et juste après avoir corrigé ça, tout fonctionnait bien. Par contre, je me demandais, tu saurais comment ajouter les dashicons qui sont utilisés dans le menu à la place des cercles ?
Apprenez à créer votre site WordPress grâce au constructeur de page le plus populaire du marché.
Découvrir la formation
Faites de meilleurs sites WordPress
Rejoignez les 20000 abonnés de WPMarmite et formez-vous dans la bonne humeur (et sans jargon).
En vous inscrivant à la newsletter, vous consentez à ce que WPMarmite, en sa qualité de responsable de traitement, collecte vos données afin de vous envoyer des communications par voie électronique. Vous pourrez vous désabonner à tout moment. Pour faire valoir votre droit d’accès, de rectification ou d’effacement, consultez notre politique de confidentialité.
Hello 🙂
Super, on vient de le rajouter sur le Blog du MMI pour notre dashboard !
Juste une petite correction pour l’affichage du lien si on a les droit d’édition, il y a une petite coquille qui fait planter le script :
‘.admin_url(edit.php?post_type=.$post_type->name).’
Il manque une apostrophe avant le “edit” et une apostrophe après le signe égale. Ca devrait fonctionner correctement ainsi :
‘.admin_url(‘edit.php?post_type=’.$post_type->name).’
Merci l’équipe pour ce snippet ! 🙂
Salut. Je n’ai pas eu ce problème pour les quelques sites ou je l’ai mis en place. Tu es sur que ton bug venait de la?
Salut, je pense parce que dès que j’ai ajouté le script, ça a planté le site, et juste après avoir corrigé ça, tout fonctionnait bien.
Par contre, je me demandais, tu saurais comment ajouter les dashicons qui sont utilisés dans le menu à la place des cercles ?
Tu peux les séléctionner un par un avec une class ou un ID et le modifier en CSS avec la propriété before
Ahah j’avais même pas pensé à ça, merci beaucoup ! 🙂