Ajouter des types de contenu au nouveau widget « D’un coup d’œil » de WordPress 3.8

At a glance

"D'un coup d’œil" (At a glance) est le remplaçant du widget "Aujourd'hui" sur le tableau de bord. Il y avait une méthode pour ajouter des CPT à ce widget, qui ne marche plus depuis la mise à jour. Tout le monde a déjà montré sa méthode pour palier ce petit désagrément, sauf moi... voici donc ma solution :p

***POUF***

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// "At a glance" items (dashboard widget): add the post types.

add_filter( 'dashboard_glance_items', 'sf_glance_post_types_items' );

function sf_glance_post_types_items( $items ) {
	$post_types = get_post_types( array( 'public' => true, '_builtin' => false ), 'object' );
	$post_types = apply_filters( 'sf_glance_post_types', $post_types );

	if ( count( $post_types ) ) {
		foreach ( $post_types as $post_type => $object ) {
			$num_posts = wp_count_posts( $post_type );
			if ( !$num_posts || !isset($num_posts->publish) )
				continue;

			$text = sprintf( _n( '%1$s %2$s', '%1$s %3$s', $num_posts->publish ), number_format_i18n( $num_posts->publish ), $object->labels->singular_name, $object->labels->name );
			if ( current_user_can( $object->cap->edit_posts ) )
				$items[] = sprintf( '<a class="%1$s-count" href="edit.php?post_type=%1$s">%2$s</a>', $post_type, $text );
			else
				$items[] = sprintf( '<span class="%1$s-count">%s</span>', $text );
		}
	}
	return $items;
}

A noter que si le développeur du CPT n'a pas prévu le coup, l'icône sera simplement un disque.
Si vous voulez ajouter vous-même une icône il faudra faire quelque chose comme ceci :

1
2
3
4
5
add_action( 'admin_head', 'my_cpt_icon_css' );

function my_cpt_icon_css() {
	echo '<style type="text/css">#dashboard_right_now li .MY_CPT-count:before{content:"\f316"}</style>'."\n";
}

Remplacer MY_CPT par votre CPT (post, page, event...) et \f316 par votre caractère d'icône (clic sur une icône puis "Copy CSS").

See ya!

Cristophe
31
jan
2014
@20:03

Tous ces efforts (les tiens, ceux des autres) pour si peu de choses. Les codeurs sont vraiment des malades. d:-)

#
Julio Potier
31
jan
2014
@21:17

hooooooooooo je viens de mettre à jour ton code en mu-plugins :p merci c'est top et je trouve que dans la déclaration du CPT on devrait avoit un param "dashboard"=>"true" et on l'a. tout simplement.

#
Crunch
01
fév
2014
@20:38

Merci pour l'astuce, je vais mettre à jour la bidouille que j'avais réalisé en me basant sur un ancien code de WordPress. Cependant, une idée pour une prochaine astuce pourrait être dans l'ajout des CPT pour le menu "Activité" avec le publié récemment et ceux à venir. Enfin, si une astuce existe car je n'ai pas encore trouvé chaussure à mon pied sur le sujet.

#
Yannick Altuna
06
fév
2014
@18:52

Merci beaucoup Greg pour la mise à jour de l'astuce, j'était vraiment triste de plus voir mes CPT après la mise à jour de wordpress.

Cordialement,
Yannick

#
Chris
21
fév
2014
@11:16

Merci beaucoup,

Auriez-vous par hasard le même pour le widjet des activités publiées récemment ?

encore merci.
Chris

#
Greg
21
fév
2014
@16:40

Nope, rien pour ce widget.
Comme je n'aime pas celui-là, je n'ai même pas cherché à le modifier... Juste à le virer x)

"En réponse à Chris"Répondre
#
Aurélien Denis
09
mar
2014
@13:54

Salut !

J'ai trouvé un bout de code différent du tien mais qui me semble un poil plus long... mais ajoute le support des taxonomies personnalisées en plus. Je vais le publier et te citer pour que les gens choisissent celui qui leur plait le plus. :)

#

Salutations, étranger.

Envie d'un avatar?
Gravatar
Do not fill the next field
:D :lol: :) ;) :P 8) :roll: :( :cry: :oops: :? :| :o 8O :x :twisted: :evil: :mrgreen:

.

Afficher le panneau des Smilies:D   Afficher le panneau des balises html utilisables Balises
Vous pouvez utiliser ces balises:
<b></b> <i></i> <del></del> <a href=""></a> <abbr title=""></abbr> <cite></cite> <code></code> <pre lang="" line=""></pre>
Exemples pour "pre": lang="css", "html", "javascript", "jquery", "php", "sql"... (ou laisser vide)