コメントの数によって記事を抽出

WordPressでコメントの数によって記事を抽出したいと思い方法を調べてみました。

たとえば、

・口コミサイトでやりとりが活発な商品データのみを抽出する
・コメントがゼロの記事を抽出し、活性化を促す

などの使い方を想定しています。

AD

テンプレート側の記述

get_posts()でコメント数が5件以上10件以下の記事を取得する例です。
最低限のオプションしか記述していませんが、「post_per_page」や「meta_key」などいつものオプションも併用できます。

「comment_num」はもともとget_posts()のオプションにはないオレオレオプションです。
配列のときは○以上○以下のコメント数を持つ記事、数値の場合はその件数のコメントを持つ記事を抽出します。
「suppress_filters」は後で使う「posts_where」を有効にするためのオプションです。

get_posts()は「suppress_filters」がtrue(デフォルト)の場合、「posts_where」や「posts_join」などのクエリを操作するフィルターが無視されます。

functions.phpに記述

以下をfunctions.phpに記述します。

$_GETなどで数値を外部から渡す場合はis_numeric()などによる細かな判定が必要だと思いますので、あくまで最低限ということで…。

コメントを軸としたサイトで使える手法かもしれません。
参考になれば幸いです。

AD

Share

Commentsコメント

メールアドレスは公開されません。コメントは必ずご入力ください。

HTMLタグは使用できません。ソースコードを書き込みたい場合はCodetterGistCodePenなどのご利用が便利です。

コメントはまだありません。