wp ulike プラグインでいいね数ランキングを作る

Pocket
LINEで送る

仕事で、WPを使ってウェブサービスを運営している案件の改修がありまして、その時にウェブWP ULikeのデータを参照してランキングを作る。という対応をしたので備忘録。

$wpdbを使う

$wpdbで、group by 構文をつかって、帰ってきた値でループを回す想定で進めてみる。

$results = $wpdb->get_results("SELECT post_title FROM $wpdb->posts");
foreach ($results as $value) {
 print('<li>'.$value->post_title.'</li>');
}

 

取得データをソート

 

global $wpdb;global $wpdb;
$results = $wpdb->get_results("SELECT post_id, count(post_id) FROM wp_ulike GROUP BY post_id ORDER BY count(post_id) DESC");
foreach ($results as $value) { // var_dump($value); }

 

 

件数を制限する場合は、Limitを付ける。

SELECT post_id<span class="s1">,</span> count<span class="s1">(</span>post_id<span class="s1">)</span> FROM wp_ulike GROUP BY post_id ORDER BY count<span class="s1">(</span>post_id<span class="s1">)</span> DESC LIMIT 5

あとは、$valueをいい感じに展開するなり関数化して $result を返すようにしたり。

SNSでもご購読できます。