こんにちは。
今回はWordPressでプラグインを使わず、PV数を取得して、管理画面に表示する方法を紹介したいと思います。
サンプルコード
ではさっそくサンプルコードをご紹介したいと思います。
function.phpに張り付けてください。
function.php
/**
* 投稿記事View数処理
*/
// ページビュー数のカウンターのセット
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 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;
}
// 管理画面に閲覧数項目を追加する
add_filter( 'manage_pages_columns', 'count_add_column' );
add_filter( 'manage_posts_columns', 'count_add_column' );
function count_add_column( $columns ) {
$columns['views'] = '閲覧数';
return $columns;
}
// 管理画面にページビュー数を表示する
add_action( 'manage_pages_custom_column' , 'count_add_column_data', 10, 2 );
add_action( 'manage_posts_custom_column' , 'count_add_column_data', 10, 2 );
function count_add_column_data( $column, $post_id ) {
switch ( $column ) {
case 'views' :
echo getPostViews($post_id);
break;
}
}
結果
管理画面の投稿一覧ページに閲覧数の項目が表示されます。
閲覧数で投稿一覧を並び替えできるようにする
投稿一覧ページの投稿を閲覧数順に並び替えて、人気の記事を確認したいこともあると思います。
そういう場合は下記コードをfunction.phpに追加してください。
function.php
// 閲覧数項目を並び替えれる要素にする
add_filter( 'manage_edit-page_sortable_columns', 'column_views_sortable' );
add_filter( 'manage_edit-post_sortable_columns', 'column_views_sortable' );
function column_views_sortable( $newcolumn ) {
$columns['views'] = 'views';
return $columns;
}
// ページビュー数で並び替えるようにリクエストを送る
add_filter( 'request', 'sort_views_column' );
function sort_views_column( $vars )
{
if ( isset( $vars['orderby'] ) && 'views' == $vars['orderby'] ) {
$vars = array_merge( $vars, array(
'meta_key' => 'post_views_count', //Custom field key
'orderby' => 'meta_value_num') //Custom field value (number)
);
}
return $vars;
}
結果
上記コードを追加すると投稿一覧の投稿を閲覧数順に並び替えることができるようになります。
まとめ
いかがでしたでしょうか。
プラグインを使わなくても簡単に記事のPV数をカウントすることができました。
ぜひ参考にしてみてください。
ではでは。