Vous êtes ici : Accueil | Snippets WordPress | Administration | 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

Créer un custom post type sur WordPress

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:

un coup d'oeil wpmarmite

Eh bien si vous utilisez les customs posts 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

add_action('dashboard_glance_items', 'wpm_custom_posttype_glance_items');

// 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;
}

Voila, maintenant vos post types sont affichés dans l’encart « D’un coup d’oeil » :

un coup oeil custom post type wpmarmite

Série TV est le custom post type crée pour imager le snippet « Comment créer un custom post type dans WordPress » et Projets est un type de contenu de base fourni avec le thème Divi utilisé ici.

Voici ce que ça donne pour la Marmite :

Types de contenus de WP Marmite

En tout cas félicitations, vous venez de lire le 45ème snippet de la Marmite 🙂

Dites-nous ce que vous en avez pensé dans les commentaires !

Source: Feryardiant

Vous débutez ? Procurez-vous le Kit du Freelance WordPress

Trouver les bons clients, leur vendre des prestations et bien communiquer avec eux n'est pas inné. Évitez les galères et gagnez du temps en vous formant aux côtés de ces 7 professionnels.

Commencer maintenant

5 commentaires Ajoutez le vôtre

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

    Répondre
    • 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?

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

    Répondre
    • 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

  3. Ahah j’avais même pas pensé à ça, merci beaucoup ! 🙂

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

La Marmite ne peut malheureusement pas fournir de support. Merci d'en tenir compte dans votre commentaire 😉

Si vous ne lui en voulez pas, donnez-lui un j'aime sur Facebook :



b726a091a6de60be9787c537485c99b0YY
36 Partages
Partagez22
Tweetez6
Partagez8