WordPress Popular Posts を利用中に、カテゴリページを人気順で並べ替え

WordPress Popular Posts プラグインを使っている時に、 カテゴリーページで人気順に並べ替えたいときに。

カスタムクエリなるフックを使う。
http://wpdocs.sourceforge.jp/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%82%AF%E3%82%A8%E3%83%AA

クエリするときに発行されるSQLの、JOIN句、ORDER BY句なんかを書き換えることができます。
それを利用して、カテゴリページの一覧を人気順にします。

WordPress Popular Posts のデータをJOINで連結して、ORDER BY句で並べ替えます。
下の例では、念の為に、ID(post ID)でグルーピングしています。

checkParent() で、表示中のカテゴリページに親ページがあるかどうかをチェックしています。
そして、子カテゴリのときだけ、人気順に表示するようにしていますので、 そうでないのなら、3箇所ある、

if ( $query->is_category() && (checkParent($query) > 0)) {

のところを、

if ( $query->is_category() ) {

にすれば、すべてのカテゴリページで人気順になります。

タイトルとURLをコピーしました