こんにちは、プロクラスの渡辺です!
WordPressのプラグイン『WP ULike』を使って任意の場所にランキング表示をしたいと思います。
このプラグイン、簡単にいいねボタンが付けられるのですがいいね数のランキング表示をしようと思うと「ウィジェットで簡単!」というものが大半…。
今回はトップページに表示させたいからウィジェットじゃ不十分!ということでphpで出力をしました 😉
ランキング表示ってどういうこと?っていうのはこんな感じの事です。
参考:https://www.nikoand.jp/
早速PHPを書いていこう!
<?php
$post__in = wp_ulike_get_popular_items_ids(array( // WP ULikeの設定
'type' => 'post', // 通常の投稿タイプ
'rel_type' => 'news', // カスタム投稿名
'status' => 'like', // 'like' ステータスの投稿
'period' => 'all', // すべての期間を対象
));
$popularity = array(
'post_type' => 'news', // カスタム投稿名
'posts_per_page' => 8, // 8件表示
'post__in' => $post__in,
'orderby' => 'post__in',
'order' => 'DESC' // いいねの降順
);$the_query = new WP_Query($popularity); if ($the_query->have_posts()) : ?>
<ul class="area">
<?php while ($the_query->have_posts()) : $the_query->the_post(); ?>
<!-- ここにループで表示したいものを記載 -->
<li class="item">
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail(); ?>
<h3><?php the_title(); ?></h3>
<span><?php echo get_the_date('Y.m.d'); ?></span>
</a>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
WP ULikeの項目の説明
迷ったときは項目を見て変更していくといいです
type
post, comment, activity, topic
といったタイプが選択できるみたいです。コメントにもいいね付けれるので、そういう感じかな。
基本的にはpostでみんな大丈夫なはず。
rel_type
投稿タイプを選択できるので、カスタム投稿タイプを作った時も安心!
galleryというカスタム投稿タイプを作ったら、ここに記載します。
status
like, dislike, unlike, undislike
4種類のオプションを選択できます。likeはいいねされているもになるので、基本的にはlikeでいいかな。
※dislikeは低評価されたものを出力しちゃうから気を付けて
user_id
特定のユーザーID(いいねしたユーザーID)を選択することもできます。
そのユーザーがいいね「した」ものを出力できます。
order
orderは普段のループと同じですね。
DESC, ASCが選べて、並べ替えができます。
is_popular
true, falseがあります。
trueにする事でいいね数でソートできるようになります。
offset
現在のページらしいです。これはいったいどういう使い方をするんでしょうね。
limit
1ページあたりの表示件数です。
今回はループの記述(posts_per_page)で記述したので、こちらでは記述していませんが、こういうのもできるらしい。
ループで記述できるものも多いので、いいねされたのが多い順だったらほとんどデフォルトでOKなんじゃないかなと思います!
ショートコード
プラグインは大体ショートコードがあるよね!ってことで、WP ULikeのショートコードも紹介しておきます。
基本的にプラグインでの設定で事足りると思いますが、任意の場所にいいねボタンを表示したいときはショートコード使うと楽ですね~!
ショートコード
[wp_ulike]
phpに記述したいとき
<?php echo do_shortcode(‘[wp_ulike]’); ?>
簡単に設置できるので、ランキング表示したいときはおすすめです~! 🙂