賢威7.0から実装されたサイドバーウィジェットに「PV数ランキング表示」がありますが、非常に便利ですよね。

PV数だけでなく、はてブ数でもランキング表示が出来る点、表示方法が6つのタイプから選択出来る点など、使い勝手の良いウィジェットです。

これを使えば必須とも言われる、人気記事を表示するプラグイン「WordPress Popular Posts」を使わなくてもいいので、プラグイン数を減らす事が出来ます。

ただし、ランキングに表示したくない記事も表示されてしまうので、それらを非表示にする方法を紹介します。

functions.phpを編集する

特定の記事をPV数ランキングウィジェットから非表示にするにはfunctions.phpを編集します。functions.phpの編集を誤ると、サイトが表示されなくなる場合があるので、必ずバックアップを取るようにして下さい。

変更前

if ($start == 0) {
	// PV数の多い記事の情報とPV数を取得
	$counts = $wpdb->get_results("SELECT ID, post_title, meta_value AS pv FROM ".$wpdb->prefix."postmeta AS meta LEFT JOIN ".$wpdb->prefix."posts AS po ON meta.post_id=po.ID WHERE meta_key='pvc_views' AND post_status='publish' AND (post_type='post' OR post_type='page') GROUP BY meta.post_id ORDER BY (pv+0) DESC LIMIT 0,".$number, ARRAY_A);
} else {
	$end = date("YmdH");
	$counts = $wpdb->get_results("SELECT post_id AS ID, post_title, SUM(pv_count) AS pv FROM ".$wpdb->prefix."keni_pv AS pvs LEFT JOIN ".$wpdb->prefix."posts AS po ON pvs.post_id=po.ID WHERE pv_dates BETWEEN ".$start." AND ".$end." GROUP BY post_id ORDER BY pv DESC, po.post_modified DESC LIMIT 0,".$number, ARRAY_A);
}

functions.phpの2,432行目~2,442行目あたりにPV数の多い記事の取得するコードがあるので、これを削除して下さい。

見つけにくい場合は「Ctrl+F」キーを押して、検索窓に「// PV数の多い記事の情報とPV数を取得」入力して探してみて下さい。

変更後

$ext = " AND meta.post_id NOT IN (記事ID,記事ID,記事ID)"; //非表示にしたい記事IDをカンマ区切りで記述する
if ($start == 0) {
	// PV数の多い記事の情報とPV数を取得
	$counts = $wpdb->get_results("SELECT ID, post_title, meta_value AS pv FROM ".$wpdb->prefix."postmeta AS meta LEFT JOIN ".$wpdb->prefix."posts AS po ON meta.post_id=po.ID WHERE meta_key='pvc_views' AND post_status='publish' AND (post_type='post' OR post_type='page')".$ext." GROUP BY meta.post_id ORDER BY (pv+0) DESC LIMIT 0,".$number, ARRAY_A);
} else {
	$end = date("YmdH");
	$counts = $wpdb->get_results("SELECT pvs.post_id AS ID, post_title, SUM(pv_count) AS pv FROM ".$wpdb->prefix."keni_pv AS pvs LEFT JOIN ".$wpdb->prefix."posts AS po ON pvs.post_id=po.ID LEFT JOIN ".$wpdb->prefix."postmeta AS meta ON meta.post_id=po.ID WHERE meta_key='pvc_views' AND post_status='publish' AND (post_type='post') AND pv_dates BETWEEN ".$start." AND ".$end.$ext." GROUP BY pvs.post_id ORDER BY pv DESC, po.post_modified DESC LIMIT 0,".$number, ARRAY_A);
}

削除した箇所に上記のコードを記述します。「記事ID」と書かれている所をIDに変更して、ファイルを更新して下さい。

記事IDを確認するには?

記事IDの確認

WordPressダッシュボードから「投稿」⇒「投稿一覧」をクリックします。記事IDを確認したい記事タイトルにマウスカーソルをあわせます。

ブラウザのステータスバーにURLが表示されます。post=の後に続く数字がこの記事のIDになります。

MATO-MEMO

投稿記事だけではなく、固定ページや保護している記事にも対応するので試してみて下さい。また、固定ページIDの確認も投稿記事と同じ方法です。

非表示にしたい記事や固定ページがある度に、functions.phpに記述する面倒くささはありますが、表示されてしまうよりは全然良いですからね・・・。

この記事が役に立ったらいいね!しよう

最新情報をお届けします

Twitterでアクロニウムをフォローしよう!