WordPress Popular Posts で記事の表示数を管理画面の投稿一覧に表示してソート可能にする

スポンサードリンク

WordPress のプラグイン [ WordPress Popular Posts ] で記事の表示数を管理画面の投稿一覧に表示してソート可能にする方法です。

記事の表示数を管理画面の投稿一覧に表示してソート可能にする方法

利用中のテーマの functions.php に次の記述を加えます。

// WordPress Popular Posts のビューカウントを管理画面の投稿一覧に表示する。

function add_posts_column_wpp_views($columns) {
    $columns['post_wpp_views_num'] = '表示数';
    echo '<style type="text/css"> .fixed .column-post_wpp_views_num { width: 120px; } </style>';
    return $columns;
}
add_filter( 'manage_posts_columns', 'add_posts_column_wpp_views' );
add_filter( 'manage_edit-post_sortable_columns', 'add_posts_column_wpp_views' );

function add_each_posts_column_wpp_views($column_name, $post_id) {
    if( 'post_wpp_views_num' == $column_name ) {
        $post_wpp_views_num = wpp_get_views($post_id, 'monthly', true);
        echo $post_wpp_views_num;
        $post_wpp_views_num_old = get_post_meta($post_id,'表示数',true);
        update_post_meta($post_id,'表示数', $post_wpp_views_num, $post_wpp_views_num_old);
    }
}
add_action( 'manage_posts_custom_column', 'add_each_posts_column_wpp_views', 10, 2 );

function add_posts_column_orderby_wpp_views( $vars ) {
    if ( isset( $vars['orderby'] ) && '表示数' == $vars['orderby'] ) {
        $vars = array_merge( $vars, array(
            'meta_key' => '表示数', 
            'orderby' => 'meta_value_num',
        ));
    }
    return $vars;
}
add_filter( 'request', 'add_posts_column_orderby_wpp_views' );
投稿一覧画面

▲ こんな感じでアクセス数が表示されます。

ご注意

このカスタマイズをすると「表示数」というカスタムフィールドが作成されます。

また、初回は投稿一覧画面ですべての記事を表示させてください。 ※一度表示しないとカスタムフィールドが作成できないため。

WP-PostViews でも試してみたけど。。。

実は、アクセス数を管理画面に表示できる WP-PostViews というプラグインで管理画面の投稿一覧に表示数を表示させたんだけど、表示数でソートすると閲覧数ゼロの記事が表示されなくて諦めました。

スポンサードリンク

投稿一覧画面

この記事が気に入ったら、ぜひシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。

ABOUTこの記事をかいた人

Mac, iPhone, WordPress が好きなウェブディレクター。 香川県坂出市出身。香川県高松市在住。 1973 年生まれで三児の父。川添おやじの会会長。ネギと玉ねぎが嫌い。