Trick # 545 | Dieser Beitrag beinhaltet 455 Wörter. – Geschätzte Lesezeit: ca. 3 Minuten.
Manchmal wäre es doch interessant zu wissen, welche Beiträge der eigenen WordPress-Website die meistgelesenen sind. Das lässt sich ganz einfach einrichten. Die Beitragsaufrufe werden mit einem einfachen PHP-Skript im Backend angezeigt.
Fügen Sie den folgenden Code in die Datei functions.php Ihrer WordPress-Installation ein, um die Besuche der Beiträge zu zählen: Die Datei functions.php finden Sie im Backend unter Design/Theme-Datei-Editor:
// Besuchszähler-Funktion
function set_post_views($post_id) {
$count_key = 'post_views_count';
$count = get_post_meta($post_id, $count_key, true);
if ($count == '') {
$count = 0;
delete_post_meta($post_id, $count_key);
add_post_meta($post_id, $count_key, '0');
} else {
$count++;
update_post_meta($post_id, $count_key, $count);
}
}
// Aufruf des Besuchszählers
function track_post_views($post_id) {
if (!is_single()) return;
if (empty($post_id)) $post_id = get_the_ID();
set_post_views($post_id);
}
add_action('wp_head', 'track_post_views');
// Spalte "Ansichten" im Admin-Bereich anzeigen
function add_views_column($columns) {
$columns['post_views'] = 'Ansichten';
return $columns;
}
add_filter('manage_posts_columns', 'add_views_column');
function display_views_column($column, $post_id) {
if ($column === 'post_views') {
echo get_post_meta($post_id, 'post_views_count', true) ?: '0';
}
}
add_action('manage_posts_custom_column', 'display_views_column', 10, 2);
Das war’s schon. Im Backend finden Sie nun in der Beitragsübersicht eine neue Spalte mit den Beitragsaufrufen.
Wichtig: Der Zähler beginnt bei 0 Aufrufen. Das heisst: Er kann nicht in die Vergangenheit sehen und frühere Aufrufe mitzählen. Sofern Sie schon zahlreiche Beiträge online haben, ergibt dies vor allem für ältere Posts ein möglicherweise verzerrtes Bild.
Sie können die Beitragsaufrufe auch in einem Widget auf der Live-Website anzeigen lassen. Wie das geht, beschreiben wir im Beitrag «Beitragsaufrufe – Trick #2: Aufrufe in einem Widget darstellen».
Werbung


