2018.08.11

[WP Favorite Posts]指定したユーザーのお気に入り記事一覧を出力する方法

こんにちは、ゾノ( @ozonosho )です。

さて、今日のブログではWordPressのプラグイン「WP Favorite Posts」で指定したユーザーのお気に入り記事一覧を出力する方法を紹介したいと思います。

ブックマーク機能をつけるプラグインの中では最も人気のこのプラグイン。
とても使いやすく便利なのですが、標準機能のままだと自分以外のユーザーがブックマークした記事を表示することはできません。

そのためSNSのように各ユーザーがお互いの情報を閲覧しあえるサイトをつくりたい場合には、今回紹介する方法を実装してみてください。

WordPressのプラグイン「WP Favorite Posts」で指定したユーザーのお気に入り記事一覧を出力する方法

実装は簡単で、まずは下記の関数をfunctions.phpに追加してください。

function user_favorite_article_list($userID) {

	$user = get_userdata($userID);
	$favorite_post_ids = wpfp_get_users_favorites($user->user_login);

    if ($favorite_post_ids) {
		$favorite_post_ids = array_reverse($favorite_post_ids);
        $post_per_page = wpfp_get_option("post_per_page");
        $page = intval(get_query_var('paged'));

        $args = array(
        		'post__in'         => $favorite_post_ids,
        		'posts_per_page'   => $post_per_page,
        		'orderby'          => 'post__in',
        		'paged' => $page
        		);
        query_posts($args);

        echo "<ul>";
        while(have_posts()) {
        	the_post();
            echo "<li><a href='".get_permalink()."' title='". get_the_title() ."'>" . get_the_title() . "</a></li>";
        }
        echo "</ul>";

        wp_reset_query();
    }
}

そのうえで表示させたい場所で下記のコードを入力すれば、指定したユーザーのお気に入り記事一覧を出力することができます。

<?php user_favorite_article_list(ユーザーID); ?>

ユーザーIDの部分には表示させたいユーザーのユーザーIDを入れてください。

この関数ではリンク付きタイトルを並べるだけの出力になっていますが、アイキャッチ画像や著者情報などを出力したい場合にはwhile文の中身を変更するだけで対応可能です。ご自身のサイトにあわせて利用してみてください。

コードを保存して無事にお気に入り記事一覧が表示されたら成功です。

おわりに

以上、今回の記事ではWordPressのプラグイン「WP Favorite Posts」で指定したユーザーのお気に入り記事一覧を出力する方法を紹介させていただきました。

この部分のカスタマイズ情報は出回っていなかったので、すこしでも参考になれば幸いです。

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

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

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

→この記事を読む