amargolf@bst-systemtechnik.de

Sicher haben auch Sie als WordPress interessierter schon Blogs oder Seiten gesehen bei denen ein Zähler für Artikel Views die Leser registriert und anzeigt wie oft der Artikel bereits gelesen wurde. Dies ist nicht nur ein nettes Feature sondern eine wirklich tolle Funktion die sowohl dem Seitenbetreiber als auch den Besuchern die Highlight-Artikel direkt anzeigt.

Leider ist dies keine Core-Funktion und auch die die allermeisten Themes kommen ohne diesen Zähler. Was bleibt sind diverse Plugins die einen Counter einblenden. So wirklich überzeugen können die Plugins in aller Regel aber nicht, da man nur wenig Einfluss auf das Erscheinen des Zählers hat und er damit meist wie ein Fremdkörper in der Seite wirkt. Ich zeige Ihnen einen anderen Ansatz. Legen Sie selbst Hand an. Es genügen wenige Codezeilen um diesen Zähler im Theme nachzurüsten.

Der WordPress Artikel-Ansicht Zähler im Eigenbau

Als erstes müssen Sie 2 neue Funktionen in die functions.php ihres WordPress Themes einfügen. Die functions.php des Themes befindet sich im Verzeichnis: wp-content/themes/DEIN_Theme. Die Funktion BST_SET_Views legt beim ersten Aufruf in der Datenbank ein benutzerdefiniertes Feld für den Zähler an und intialisiert diesen. Die Funktion BST_GET_Views liest im Gegenzug genau dieses Feld aus und gibt einen String mit dem Zählerstand zurück, der später formatiert beim Aufruf des Artikels ausgegeben wird.

Fügen Sie nun folgenden Codeblock am Ende Ihrer Functions.php ein.

function BST_GET_Views($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 x angesehen";
}
return $count.' x angesehen';
}

function BST_SET_Views($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}

Die nächte Änderung betrifft die single.php des Themes (wp-content/themes/DEIN_Theme). Hier wird der Loop um genau weitere 2 Zeilen Code, bzw zusätzlichen Code zur Formatierung nach Geschmack, ergänzt. Unter dem öffnenden Loop „while (have_posts()) : the_post()“ fügen Sie Funktion BST_SET_Views ein. Dies sieht dann folgendermaßen in meinem Beispiel aus. Die einzufügenden Zeilen sind grau markiert.

<!-- Post -->
     <?php while (have_posts()) : the_post(); >
<!-- Beginn BST Views Counter -->
     <?php BST_SET_Views(get_the_ID()); ?>
<!-- Ende BST Views Counter -->

Der letzte Schritt ist nun das Einfügen einer weiteren Codezeile in die single.php, die für die Anzeige des Zählers sorgen wird. Hier kommt wieder als Besipiel der Code, den ich auch in diesem Blog verwende. Die einzufügenden Zeilen sind auch hier grau markiert.


<span class="calendar">
     <?php printf('%1$s', get_the_date()); ?>
</span>
<span class="author">
     <a href="<?php echo get_author_posts_url(get_the_author_meta('ID' )); ?>">
     <?php echo __('Author ','ds');?--> <!--?php the_author_meta('display_name'); ?></a>
</span>
<span class="views">
<!-- Beginn BST Views Counter -->
     <?php echo BST_GET_Views(get_the_ID()); ?>
<!-- Ende BST Views Counter -->
</span>
<span class="comments">
     <?php   comments_popup_link( __('Keine Kommentare','ds'), __('1 Kommentar','ds'),
     __('% Kommentare','ds'), 'comments-link', __('Comments are Off','ds'));?>
</span>
<span class="tags">
     <?php the_tags('',', '); ?>
</span>

Die CSS Klasse „class=“views“ habe ich gleichzeitig im Stylesheet des Themes hinzugefügt und entsprechend dem Themedesign zugeschnitten. Der Counter passt sich nun optimal in das Theme ein. Hier ist unter Umständen ein wenig Probieren angesagt. Der kleine Aufwand wird aber mit einem gefälligen Zähler belohnt.

Wie bei allen Änderungen am Quellcode sollten sie natürlich vorher unbedingt eine Sicherung der betreffenden Dateien anlegen um im Worstcase wieder zum Ausgangspunkt zurückzukommen.

Dies Lösung hat sich bei mir in ihrer Einfachheit bewährt und ist schon bei vielen Projekten zum Einsatz gekommen.

Sollte Ihnen das Angebot gefallen, empfehlen Sie es gerne weiter.
Like Button, der nicht nach Hause telefoniert

3 Kommentare

  1. Timo Kerner-Reply
    22. August 2013 at 01:52

    Vielen Dank für die Codesnipsel. Es hat einwandfrei funktioniert. Ich habe allerdings noch eine Frage. Wie lässt sich der Zähler in der Blog Übersicht der Artikel einfügen ?

    • 22. August 2013 at 11:44

      „< ?php echo BST_GET_Views(get_the_ID()); ?>“ muss an geigneter Stelle in der index.php deines Themes integriert werden, dann werden auch dort die Views angezeigt.

  2. nina-Reply
    25. September 2015 at 21:32

    Tolle Erklärung, wo muss ich denn daran,wenn ich im blog allgemein in der Postübersicht schon doe Views anzeigen lassen will?

Schreiben sie einen Kommentar

Lösen sie folgende kleine Aufgabe zur Spamvermeidung *

#07A6D0#CCCCCC1
Wir benutzen Cookies um die Nutzerfreundlickeit der Webseite zu verbessen. Durch Deinen Besuch stimmst Du dem zu.