Dashboard-Widgets zum Anzeigen hinzufügen – benutzerdefinierte Post-Typ-Statistiken, Informationen von anderen Plugins

Ich habe eine Website und ich muss in der Lage sein, die DashboardWidgets zu bearbeiten, damit relevante Informationen zur Website angezeigt werden.

Im Moment ist alles, was gerade angezeigt wird, das richtige Widget. Innerhalb dieses Widgets brauche ich weder den Diskussionsbereich, noch brauche ich Beiträge und Tags. Was ich brauche, sind benutzerdefinierte Post-Typen, zum Beispiel Produkte und Nachrichten. Also würde es Produkte sagen, wie viele Produkte es gibt, so wie es bei Seiten der Fall ist.

Es wäre auch toll, wenn Sie Informationen von anderen Plugins anzeigen könnten. Zum Beispiel benutze ich ein Plugin namens Support Ticket Center , es wäre großartig, wenn Sie zeigen könnten, wie viele offene Support-Tickets es gibt und wie viele geschlossen wurden und welche Dinge.

Gibt es irgendwelche Plugins, die diese Art von Anpassung vornehmen können? Oder ist es komplizierter?

Vielen Dank

EDIT : Ich habe versucht, den folgenden Code zu meiner functions.php-Datei hinzuzufügen. Es funktioniert irgendwie, aber die Ausgabe fügt viele andere divs und dinge hinzu. Ich verstehe nicht, woher sie kommen.

// wp_dashboard_setup is the action hook add_action('wp_dashboard_setup', 'mycustom_dashboard_stats'); // add dashboard widget function mycustom_dashboard_stats() { wp_add_dashboard_widget('site_stat_widget', 'Site Stats','wp_dashboard_custom_post_types'); } function wp_dashboard_custom_post_types() { global $wp_registered_sidebars; $num_posts = wp_count_posts( 'Product' ); echo "\n\t".'
'; echo "\n\t".'

' . __('Content') . '

'."\n\t".''; echo "\n\t".''; // Posts $num = number_format_i18n( $num_posts->publish ); $text = _n( 'Product', 'Products', intval($num_posts->publish) ); if ( current_user_can( 'edit_posts' ) ) { $num = "$num"; $text = "$text"; } echo ''; echo ''; echo ''; }

Dies ist der HTML-Code, der ausgegeben wird.

 

Content

' . $num . '' . $text . '

Dies wird “Inhalt” dann eine große Lücke als die Anzahl der Produkte ausgeben. Ich weiß nicht, warum es alle klaren divs und dinge einfügt.

Wie bekomme ich es, um das HTML die gleiche wie das ‘Right Now’ Widget auszugeben, so dass es richtig angezeigt wird und würde auch die gleiche CSS verwenden.

Solutions Collecting From Web of "Dashboard-Widgets zum Anzeigen hinzufügen – benutzerdefinierte Post-Typ-Statistiken, Informationen von anderen Plugins"

Sie können ein wenig mehr Phantasie bekommen, aber das sollte Sie beginnen.

 add_action( 'right_now_content_table_end', 'wpse_3809'); function wpse_3809() { $types = get_post_types( array( '_builtin' => false ) ); foreach( $types as $type ) : $num_posts = wp_count_posts( $type ); $num = number_format_i18n( $num_posts->publish ); ?> 
< ?php endforeach; }

Bearbeiten: Der Code für das "Right Now" Dashboard-Widget kann in /wp-admin/includes/dashboard.php gefunden werden, die function ist wp_dashboard_right_now . Leider scheint es keinen Filter zu geben, mit dem Sie Posts, Seiten, Kategorien, Tags oder Kommentare entfernen können. Wenn Sie sie entfernen möchten, können Sie JavaScript verwenden, um die Elemente aus dem DOM zu entfernen, oder Sie können sie mit CSS ausblenden (wenn es einen übergeordneten CSS-Selektor gibt?). Alternativ könnten Sie den Code kopieren und alles entfernen / hinzufügen, was Sie möchten. Wenn Sie nicht alle benutzerdefinierten Post-Typen get_post_types möchten, entfernen Sie die get_post_types und foreach und ersetzen Sie den $type durch den Namen des benutzerdefinierten Post-Typs.

@ v0idless-Code funktioniert einwandfrei, aber bitte verwenden Sie ihn für das beste Ergebnis

// $ types = get_post_types (array (‘_builtin’ => false));

 $types = get_post_types( array( '_builtin' => false,'public' => true ) ); 

< ?php echo $num; ?> < ?php echo $type; ?>