no-image

WordPressでページごとのページビュー数を記録するコード

[post_status draft]

人気記事ランキングなどを表示するときに便利。
phpで取得するので、kusanagiなどのサーバーキャッシュを活用している場合は値が厳密では無くなるけれど、参考になる数字は取れると思います。

//functionsに追加
//アクセス数を保存
function set_post_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); }
}

//クローラーのアクセス判別
function is_bot() {
$ua = $_SERVER[‘HTTP_USER_AGENT’];
$bot = array(
“googlebot”,
“msnbot”,
“yahoo”
);

foreach( $bot as $bot ) {
if (stripos( $ua, $bot ) !== false){
return true;
}
}
return false;
}
//singleに追加
<?php if(!is_user_logged_in() && !is_bot()): >

<?php set_post_views(get_the_ID()); >

pocketlinehatebuimagegalleryaudiovideocategorytagchatquotegoogleplusfacebookinstagramtwitterrsssearchenvelopeheartstaruserclosesearch-plushomeclockupdateeditshare-squarechevron-leftchevron-rightleafexclamation-trianglecalendarcommentthumb-tacklinknaviconasideangle-double-upangle-double-downangle-upangle-downstar-halfstatus