Bloggen, Gesellschaft

Wordpress: Artikelinfos wie Views, Update-Infos und Gesamtzahl von Shares in ein Widget packen

3 Min. Lesezeit
comment-1 Created with Sketch Beta. 0 Kommentare
1 Aufrufe

Für den Fall, dass das Wetter überraschenderweise bald novembermäßig wird, hier auf die Schnelle mal ein Tipp, wie man ein paar Artikelinformationen in ein Sidebar-Widget packen kann. Es geht hier um drei Informationen, die man traditionell entweder unter den Artikel oder in den Meta-Informationen platzieren würde.

Die Anzeige der 3 Informationen ist nur in der Artikelansicht sinnvoll, da sich die Auswertung ja auch nur darauf beziehen. Man benötigt also entweder ein Plugin zur Steuerung der Anzeige des Widgets (z.B. Widget-Logic) oder regelt das, wie im Beispiel mit etwas PHP-Code.

1.) Anzahl der Aufrufe eines Artikels (Views)
2.) Wann wurde der Artikel zuletzt geändert (Update)
3.) Wie oft wurde der Artikel geteilt (Twitter, Facebook, Google+)

Zuerst braucht man ein PHP-fähiges Widget. Ich nutze im Backend den Editor „WP Edit Pro“, der auch diese Möglichkeit vorhält. Es gibt im Netz Codestückchen, die Widgets PHP-fähig machen. Diese könnte man ggf. via Toolbox von Sergej Müller in Gang setzen.

Zunächst also der Code für ein Widget, den man dort einfach einfügt (CSS H4 muss dem Theme entsprechend angepasst werden).

<?php if ( is_single() ) { ?> <h4 class="widget-title">Artikelinfo</h4>Dieser Artikel wurde bereits <?php setPostViews(get_the_ID()); echo getPostViews(get_the_ID())-1;?> mal gelesen.
<br />
Letzte Änderung des Beitrages am:
<!-- START DISPLAY UPDATE INFO -->
<?php if(strtotime($post->post_modified) - strtotime($post->post_date) > 86400)
echo "" ;
the_modified_date('j.m.y');?>
<!-- END DISPLAY UPDATE INFO --><br />
Insgesamt wurde dieser Beitrag <?php echo do_shortcode('[totalshares] '); ?> mal geteilt.

<?php }?>

So sieht der Code für die Ermittlung der Gesamtanzahl der Shares aus:

function getTotalShares($atts) {
extract(shortcode_atts(array(
'cache' => '3600',
'url' => 0,
'f' => 0,
'bgcolor' => '#ffffff',
'bordercolor' => '#ffffff',
'borderwidth' => '0',
'bordertype' => 'solid',
'fontcolor' => '#7fc04c',
'fontsize' => '55',
'fontweight' => 'normal',
'padding' => '1'
), $atts));

$shareHash = "$cache.$url.$f.$bgcolor.$bordercolor.$borderwidth.$bordertype.$fontcolor.$fontsize.$fontweight.$padding";
$totalShareRecord = 'totalshares_' . $shareHash;
$cachedposts = get_transient($totalShareRecord);
if ($cachedposts !== false) {
return $cachedposts;

} else {

if (!$url) $url = get_permalink($post->ID);

$json = file_get_contents("http://api.sharedcount.com/?url=" . rawurlencode($url));
$counts = json_decode($json, true);
$return = $counts['Twitter'] + $counts['Facebook']['total_count'] + $counts['GooglePlusOne'];
if ($f) $return = '
' . $return . '';
set_transient($totalShareRecord, $return, $cache);
return $return;
}
}
add_shortcode('totalshares','getTotalShares');

Hier noch der Code für die Views (ebenfalls z.B. einsetzen über die Toolbox von Sergej Müller):

// function to count views.
function setPostViews($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);
}
}

// function to display number of posts.
function getPostViews($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 ";
}
return $count.' ';
}
Gefällt Ihnen der Artikel? Dann teilen Sie ihn mit Ihren Freunden.
Quelle Featured-Image: HorstSchulte.com

Letztes Update:

Relevante Beiträge

Kommentieren


Hier im Blog werden bei Abgabe von Kommentaren keine IP-Adressen gespeichert! Ihre E-Mail-Adresse wird NIE veröffentlicht! Sie können anonym kommentieren. Ihr Name und Ihre E-Mail-Adresse müssen nicht eingegeben werden.

Meine Kommentar-Politik: Ich mag Kommentare, und ich schätze die Zeit, die du zu dem Zweck investierst, Ideen auszutauschen und Feedback zu geben. Nur Kommentare, die als Spam oder eindeutig Werbezwecken dienen, werden gelöscht.



Your Mastodon Instance
Share to...