WordPressの投稿管理画面に各投稿のPV数を表示させようと思った。以下の記事を参考にしてみた。
またカラム幅を調整できるようにした。
手順
Code Snippets をインストール
functions.php を安全に編集できるようにするプラグイン「Code Snippets」をインストールし、有効化
Code Snippets にコードを書き込む
if(function_exists('wpp_get_views')){
add_filter('manage_posts_columns', function($columns){
$columns['view'] = "PV数";
return $columns;
});
add_action('manage_posts_custom_column',function($column_name, $post_id){
if($column_name == 'view'){
echo '日:'.wpp_get_views($post_id, 'daily', true);
echo "<br />";
echo '週:'.wpp_get_views($post_id, 'weekly', true);
echo "<br />";
echo '月:'.wpp_get_views($post_id, 'monthly', true);
echo "<br />";
echo '全:'.wpp_get_views($post_id, 'all', true);
}
},10,2);
add_action('admin_print_styles', function(){
echo "<style>th.column-view {width:5.5em;}</style>";
});
}
cssでカラム幅を調整
「admin_print_styles」で管理画面のcssに出力される。
$columns[‘view‘] の「view」に対応して、.column-view というクラスが付与されているので、必要に応じて適切に変更する。
問題発生
ここまでしてみたが、投稿ページにPV数が表示されない。
いろいろ試してみた結果、「wpp_get_views」という関数がなく、「function_exists(‘wpp_get_views’)」の部分がfalseになってるみたい。。
「wpp_get_views not exist」とかでぐぐってみたが、それっぽい記事は見つからず。
解決
「wpp_get_views」という関数は標準関数だと勘違いしていたが、色々調べた結果どうやらプラグイン「WordPress Popular Posts」が必要らしい。
プラグインで「WordPress Popular Posts」をインストール、有効化すると、無事に表示されました。
この記事には追加でプラグイン必要なことがしっかり載ってました。以上です。