Favoritesは、サイトにお気に入り機能を追加できるWordPressプラグインです。
投稿や固定ページにお気に入りボタンを追加し、お気に入りしたページを一覧で確認することができます。
Favoritesのインストール
インストール手順は以下の通りです。
ファイルをFTPでアップロードしてインストール
- Favoritesをダウンロードします。
- ダウンロードしたファイルを展開し wp-content/plugins にアップロードします。
- 管理画面の[プラグイン]ページで、Favoritesを有効化します。
WordPress管理画面でインストール
- [プラグイン] – [新規追加]にアクセスします。
- 「Favorites」で検索します。
- [今すぐインストール]をクリックして、Favoritesをインストールします。
- [有効化]をクリックしてプラグインを有効化します。
Favoritesの設定
WordPress管理画面の[設定] – [Favorites]でプラグインの設定を行います。
General
Page Cache | キャッシュの有効化 |
Development Mode | 開発モード |
Dependencies | プラグイン用のCSSとJSの読み込み |
Users
Anonymous Users | 未ログインユーザーでのお気に入り機能有効化 |
User Cookie Consent | Cookie保存のユーザー同意を表示 |
Save Unauthenticated Favorites as | 未ログインユーザーのお気に入りの保存方法 |
Display & Post Types
Enabled Favorites for | お気に入りボタンを表示する投稿タイプ |
Button HTML Element | ボタンのHTMLタグ |
Button Type | ボタンの種類 |
Color Options | 色のカスタマイズ |
Include Total Favorite Count | お気に入り数の表示 |
Favorite Button Loading Indication | ボタン読み込み時にローディングを表示 |
Listing Display | お気に入り一覧のHTMLカスタマイズ |
Clear Favorites Button Text | お気に入り削除ボタンのテキスト |
No Favorites Text | お気に入り一覧が0件の時のテキスト |
位置がアレですが、投稿詳細ではこんな感じでお気に入りボタンが表示されるようになりました。お気に入り済みのページでは「Favorited」にテキストが変わります。
お気に入り一覧ページの作成
お気に入りしたページを一覧で確認するための固定ページを作成します。
以下のようなショートコードを挿入することで、お気に入り一覧を表示できます。
[user_favorites include_links="true" include_buttons="true" include_thumbnails="true" thumbnail_size="thumbnail" include_excerpt="false"]
ショートコードで指定できる属性は以下の通りです。
user_id | ユーザーID |
site_id | サイトID |
include_links | ページへのリンクの有無 |
include_buttons | お気に入りボタンの表示 |
post_types | 投稿タイプ |
include_thumbnails | アイキャッチ(サムネイル)画像の表示 |
thumbnail_size | サムネイルのサイズ |
include_excerpt | 抜粋の表示 |
以下のように、お気に入りしたページの一覧を表示できます。
テーマのテンプレート内でお気に入りボタンや一覧を呼び出す方法
テンプレート内の任意の場所にお気に入りボタンを表示させたり、お気に入り一覧を呼び出したりするための関数も用意されています。
お気に入りボタン
Get function: get_favorites_button($post_id, $site_id)
Print function: the_favorites_button($post_id, $site_id)
Shortcode: [favorite_button post_id="" site_id=""]
お気に入り数のカウント
Get function: get_favorites_count($post_id)
Print function: the_favorites_count($post_id)
Shortcode: [favorite_count post_id=""]
ユーザー毎のお気に入り数のカウント
Get function: get_user_favorites_count($user_id, $site_id, $filters)
Print function: the_user_favorites_count($user_id, $site_id, $filters)
Shortcode: [user_favorites user_id="" site_id="" post_types=""]
お気に入り一覧
Get function (returns array of IDs): get_user_favorites($user_id, $site_id)
Get function (returns html list): get_user_favorites_list($user_id, $site_id, $include_links, $filters, $include_button, $include_thumbnails = false, $thumbnail_size = 'thumbnail', $include_excerpt = false)
Print function (prints an html list): the_user_favorites_list($user_id, $site_id, $include_links, $filters, $include_button, $include_thumbnails = false, $thumbnail_size = 'thumbnail', $include_excerpt = false)
Shortcode (prints an html list, with the option of omitting links): `[user_favorites user_id=”” include_links=”true” site_id=”” include_buttons=”false” post_types=”post” include_thumbnails=”false” thumbnail_size=”thumbnail” include_excerpt=”false”]
特定のページをお気に入りしたユーザーの一覧
Get function (returns array of User Objects): get_users_who_favorited_post($post_id, $site_id)
Print function (prints an html list): the_users_who_favorited_post($post_id = null, $site_id = null, $separator = 'list', $include_anonymous = true, $anonymous_label = 'Anonymous Users', $anonymous_label_single = 'Anonymous User')
Shortcode (prints an html list): `[post_favorites post_id=”” site_id=”” separator=”list” include_anonymous=”true” anonymous_label=”Anonymous Users” anonymous_label_single=”Anonymous User”]
お気に入り削除ボタン
Get function: get_clear_favorites_button($site_id, $text)
Print function: the_clear_favorites_button($site_id, $text)
Shortcode: `[clear_favorites_button site_id=”” text=”Clear Favorites”]
サイト全体のお気に入り数のカウント
Get function: get_total_favorites_count($site_id)
Print function: the_total_favorites_count($site_id)
詳しくは、公式ディレクトリをご参照ください。
あとがき
簡単にお気に入り機能を実装できて便利ですね。
関数を利用してテンプレート内で自由に配置することも可能なので、かなり柔軟に対応できそうですね。
サイトにお気に入り機能を実装したい時は、ぜひFavoritesをお試しください。
はじめまして。
お気に入りだけではなくて、「嫌い」とか「気になる」とか他の項目も増やしたい時はどうしたらいいですかね?