
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 というプラグインで管理画面の投稿一覧に表示数を表示させたんだけど、表示数でソートすると閲覧数ゼロの記事が表示されなくて諦めました。
現場からは以上です。それでは、またッ!!!


