2020.03.03

WP ULikeで指定ユーザーがいいねした記事の一覧を取得する方法

こんにちは、webエンジニアのゾノ( @ozonosho )です。

今日のブログではWP ULikeで指定ユーザーがいいねした記事の一覧を取得する方法を紹介したいと思います。

記事内にSNSボタンとは別で独自のLINEボタンを設置できることで人気のプラグイン「WP ULike」を利用している方は多いと思います。

このプラグインでは「記事ごとの合計いいね数」を取得することはできますが、残念ながら用意されている関数だけでは「指定ユーザーがいいねした記事の一覧」を取得することはできません。

僕の運営するサイト『未来地図』では、下図のようにユーザーが自分のマイページで自分のいいねした記事を確認することができるようにしたかったので今回の処理を加えてみました。

▽WP ULikeを利用してユーザーごとのブックマーク記事一覧を表示

WP ULikeで指定ユーザーがいいねした記事の一覧を取得する方法

今回は指定ユーザーのIDを渡して、そのユーザーの投稿記事一覧をIDの配列で返す関数を用意しました。下記のコードをfunctions.phpに追加いただければ使用できます。

function get_user_favorite_post_ids($user_id) {
    global $wpdb;
    $results = $wpdb->get_results($wpdb->prepare("select post_id from wp_ulike where status = 'like' and user_id = %d;", $user_id));
    $post_ids = null;
    foreach ($results as $result) {
      $post_ids[] = $result->post_id;
    }
    return $post_ids;
}

プラグイン側では利用できそうな関数が用意されていなかったので、DBから直接データを取っています。

返ってきた投稿IDの一覧を利用して、あとはそれぞれのサイトの表示形式に合わせて自由に表示してみてください^^

おわりに

以上、今回の記事ではWP ULikeで指定ユーザーがいいねした記事の一覧を取得する方法を紹介させていただきました。

当サイトではWordPressのカスタマイズ依頼を請け負っています。実現したい機能・要望がある方はぜひ下記ページよりご相談ください。

あなたのサイトに理想の機能を実装!WordPressカスタマイズサービス

本サービスはあなたのWordPressサイトに理想の機能を実装するサービスとなります。 どのような機能・要望でも実現可能です! Wo......

→この記事を読む