見出し画像

【WordPress】プラグインなしでいいね機能を実装する ver2.10

WordPressでカスタムフィールドを利用した、プラグインなしで「いいね」機能を実装するためのテーマ機能をアップデートしました。
大幅な機能変更があるため、新たに記事を公開します。



はじめに

このテーマ機能はプラグインではありません。
プラグインとして十分な機能は実装できたのではないかとは思っていますが、継続的なサポートは難しいと判断したのと、個人的に欲しいから作ったにすぎない、というのが実情です。
そのため、可能な限りのカスタマイズ方法の提供と、必要に応じた最低限のバージョンアップ(PHPのバージョンアップ等に伴う変更等)は行うつもりではありますが、実装自体はあくまで自己責任でお願いします。

今回は約一年の振りのメジャーアップデートになります。
自分が欲しい物を詰め込んだため、ver1.00からは機能面においてかなりの差があります。
アップデートに際し、必ず変更点を一読してください。
また、変更点以外については下記の記事をご参照ください。


1. 変更点

- 設定画面の追加
- 投稿タイプ別に自動で集計画面を生成するように変更
- カテゴリー別フィルタリング機能に対応
- ショートコードの引数の変更
- グラフ表示の微調整

大きな変更点について説明します。

1ー1. 設定画面の追加

今回の大幅な変更点の一つになります。
ver1.00を制作した時点では設定画面までは機能過多かと思い作成しませんでしたが、より簡単に利用できるように新たに追加致しました。

設定項目は以下の通りです。

  • ボタンテキスト

  • アイコンフォントのclass

  • アイコンフォント名(Google Material Symbols and Icons)

  • サンクス画像

  • 上限回数

  • 制限時間

  • 除外する投稿タイプ

設定画面

Font Awesome をご利用の方はclassに「fas fa-favorite」と入力してください。
Google Material Symbols and Icons をご利用の方は上記のclassの他に、更にアイコン名を入力してください。
これにより、タグを直接指定していた旧バージョン同様に様々なサービスのアイコンフォントを利用することが可能です。
ただし、ショートコードや引数を利用して上書きする場合、以前のコードを使用することはできません。
詳しくはこちらをお読みください。

サンクス画像、上限回数、制限時間は特に必要性がなければ初期値のままで大丈夫です。

除外する投稿タイプあくまで集計画面上に表示しないための除外設定になります。
2024/01/23: ver2.10にて選択された投稿タイプではカスタムフィールドも非表示にするようにしました。)
以前は集計画面を直接、投稿タイプ別に追加する方法だったため、利用しない投稿タイプを除外する必要はありませんでしたが、今回のアップデートにより、集計画面の非表示設定を追加しました。

1-2. 投稿タイプ別に自動で集計画面を生成するように変更

大幅な変更点の2つ目になります。
以前のバージョンでは、集計したい投稿タイプはコードをコピペしてメニューにページを増やすという煩雑な方法でしか集計画面を生成することはできませんでした。
今回はフィルタリング機能により、自動で各投稿タイプの集計を取得するようにしてあります。

投稿の集計画面

投稿タイプはプルダウンメニューによって自動的に切り替わります。
初期ページは投稿になっていますが、除外設定で投稿にチェックを入れた場合、自動的に他のページが初期ページになります。

カテゴリーは「絞り込み」ボタンによって機能します。
こちらも自動でフォームを送信して切り替えるようにしようかは悩む部分でしたが、今回はボタンでのみ実行するようにしました。
こちらはカスタムタクソノミーにも対応しているため、カスタム投稿タイプのカテゴリー、またはタグによるフィルタリングが可能です。
カテゴリーがある場合はタグよりもそちらが優先されます。

1-3. ショートコードの引数の変更

設定画面の追加に伴い、アイコンフォントの設定をclassとアイコン名に分けたことから、引数が増えてしまいました。
そのことから以前のショートコードや引数による個別指定ができなくなっています。
必ず新しいコードをご利用ください。

// 引数
custom_like_button(post_id, class, google_icon, text);

実際のテンプレートタグは以下のようになります。

// テンプレートタグ(Google Material Symbols and Icons利用時)
<?php custom_like_button(get_the_ID(),'material-symbols-rounded','favorite', 'いいね'); ?>
// テンプレートタグ(Font Awesome利用時)
<?php custom_like_button(get_the_ID(),'fas fa-favorite','', 'いいね'); ?>

ショートコードの場合は以下のようになります。

// ショートコード(Google Material Symbols and Icons利用時)
[custom_like class='material-symbols-rounded' google_icon='favorite' text='Like']
// ショートコード(Font Awesome利用時)
[custom_like class='fas fa-favorite' google_icon='' text='']


2. ダウンロード

2-1. 設置に際しての注意事項

  • 設置、カスタマイズ、改造は自己責任でお願いします。

  • lib/custom_like.php に書かれた著作権・配布元表示は消さないでください。

  • 設置に際し、必ずバックアップを取るようにしてください。また、可能であればローカル環境でのテストを推奨しています。

  • 変数名等は可能な限り、他のプラグインとの競合が起きにくいように配慮致しましたが、万が一、不具合が起きたとしても作者は一切の責任を負いかねますので、予めご了承ください。

  • 素人が趣味で開発したものです。二次配布や販売についてはご遠慮ください。

2-2. 変更履歴

  • 2024/01/23: ver2.10公開
    (カスタムフィールドの非表示対応、及びjsファイルの表示位置の調整)

  • 2024/01/20 : ver2.00公開

  • 2023/03/27 : ver1.01(ポップアップ処理の修正)

  • 2023/03/26 : ver1.00公開

2-3. ダウンロードファイル

ダウンロードはこちらからお願いします。

2-4. ver1.00からのアップデート方法

lib/custom_like.php だけ差し替え、テンプレートタグの引数だけ変更してください。
CSS、及びJavaScriptの差し替えは必要ありません。

この記事が気に入ったらサポートをしてみませんか?