WordPress Statistiken mittels Shortcode ausgeben

Statistiken über deinen Blog ausgeben

Artikel wurde aktualisiert am 18.08.2016

Dieser Beitrag stellt eine kurze Antwort und Erweiterung zum Post von David dar.
Dort beschreit er, wie auf ganz einfache Weise Statistiken zur WordPress Installation in einem beliebigen Template ausgegeben werden können.


Natürlich kann die Ausgabe noch beliebig ergänzt werden. Auch weitere Formatierungen sind möglich. Hier aber mal die Daten, die dieses Snippet ausgibt:

  • Registrierte Benutzer
  • Anzahl von Tags
  • Anzahl von Beiträgen und Seiten
  • Anzahl von Kategorien
  • Anzahl von Kommentaren

So eine Übersicht könnte vielleicht gut in die About-Me Seite passen. Oder auch in die „Hier werben“ Seiten, falls du so eine hast.

Hier nun also der originale Code von David:

<?php
$num_users = count_users();
$num_users = $num_users['total_users'];

$num_tags  = wp_count_terms('post_tag');

$num_pages = wp_count_posts( 'page' );
$num_pages = $num_pages->publish;

$num_posts = wp_count_posts( 'post' );
$num_posts = $num_posts->publish;

$num_cats  = wp_count_terms('category');

$num_comm  = get_comment_count();
$num_comm  = $num_comm['approved'];

echo '<ul>';
echo '<li>Benutzer: ' . $num_users . '</li>';
echo '<li>Tags: ' . $num_tags . '</li>';
echo '<li>Seiten: ' . $num_pages . '</li>';
echo '<li>Beiträge: ' . $num_posts . '</li>';
echo '<li>Kategorien: ' . $num_cats . '</li>';
echo '<li>Kommentare: ' . $num_comm . '</li>';
echo '</ul>';
?>

Diesen kannst du in jedem WordPress Theme-File einfügen.

WordPress Stats Shortcode

Da ich nicht gerne die Template Dateien direkt ändere, hab ich mir einen Shortcode daraus gemacht. Dieser muss lediglich in die functions.php deines Themes, oder besser deines Child Themes, kopiert werden.

// My Stats Shortcode
function my_stats(){

	$num_users = count_users();
	$num_users = $num_users['total_users'];
	$num_tags  = wp_count_terms('post_tag');
	$num_pages = wp_count_posts( 'page' );
	$num_pages = $num_pages->publish;
	$num_posts = wp_count_posts( 'post' );
	$num_posts = $num_posts->publish;
	$num_cats  = wp_count_terms('category');
	$num_comm  = get_comment_count();
	$num_comm  = $num_comm['approved'];

	$str = '<ul>';
	$str .= '<li>Benutzer: ' . $num_users . '</li>';
	$str .= '<li>Tags: ' . $num_tags . '</li>';
	$str .= '<li>Seiten: ' . $num_pages . '</li>';
	$str .= '<li>Beiträge: ' . $num_posts . '</li>';
	$str .= '<li>Kategorien: ' . $num_cats . '</li>';
	$str .= '<li>Kommentare: ' . $num_comm . '</li>';
	$str .= '</ul>';
	
	return $str;
}
add_shortcode( 'mystats', 'my_stats' );

Danach kannst du die Statistiken überall auf deiner Seite mittels dem folgenden Shortcode einfügen:

[mystats]

Und nun fehlt nur mehr das Ergebnis meines neuen Shortcodes:

  • Benutzer: 4
  • Tags: 177
  • Seiten: 19
  • Beiträge: 168
  • Kategorien: 7
  • Kommentare: 124

Ich bin nun kein professioneller PHP Programmierer, deshalb kann ich leider nicht einschätzten, ob solche Einträge in der functions.php eine Auswirkung auf die Geschwindigkeit von WordPress haben. Ich meine nicht auf den Seiten, wo der Shortcode angewendet wird. Da sicher, denn es werden ja Daten aus der Datenbank abgefragt. Ich meine auf Seiten, wo der Code nicht ausgegeben wird.

Verfasst in: WordpressTags: ,

Willst du an der Diskussion teilnehmen?


Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kommentar *

Name *
E-Mail *
Webseite