ギャラリーを利用し簡単な絵(写真)のコンテストを運用するの印刷用ページ

このたび、武漢肺炎(新型コロナウイルス)感染拡大の中、感染の恐れが極めて低いホームページ内で簡単に絵のコンテストのようなものができないかと思案していたところ、ワードプレスの標準機能であるギャラリーで作品を展示し、これに投票機能を設置できるプラグインTribulant Gallery Votingを見つけ、これを利用し絵のコンテストを運用してみました。

コンテストの内容は
①ギャラリーを作成し作品を表示(ワードプレス標準のギャラリーを作成する)

②「いいね」投票ボタンを設置し投票開始(プラグインGallery Votingを有効にする)

③集計(順位決定)後「いいね」投票ボタンを撤去し投票終了(プラグインGallery Votingを無効にする)

という手順です。

実際に運用してみて、結果的には設置が簡単で投票には問題がありませんでしたが、次のような扱いにくい面もあります。
1.投票が多い順に並び替えができない。
2.ギャラリーを複数にした場合、それぞれに投票するのではなくまとめて1つのものとして投票することになります。
3.投票のリセットボタンがないのでデータベースにアクセスしてデータを削除してリセットが可能になります。

次に行った具体的な方法です。
1.固定ページあるいは投稿ページにてワードプレス標準のギャラリーを作成します。


2.次にプラグインTribulant Gallery Votingをインストールします。ちりつもプレスさんのホームページを参考にしました。
まずはエラー等が日本語で表示されるようにワードプレスプラグイン Gallery Votingの中に含まれているindex.phpを編集し、エラー時およびVote(投票)という英語を「いいね」を日本語に変換します。

編集方法はワードプレスから直接編集する方法とFTPクライアントソフトウェアで編集したものを上書きをする方法があります。後者の場合はテキストエディタで行うので編集が容易です。ただし、編集後保存する場合は文字コードをUTF-8Nで保存しないと日本語が文字化けすることがあるので注意が必要です。

index.phpの編集内容
399行目と433行目辺り
$error = "You have voted for this photo already";
↓
$error = "この写真はすでに投票済みなので、これ以上投票することはできません";


401行目と435行目辺り
$error = sprintf("You have already voted %s times for this photo", $max_same);
↓
$error = sprintf("%s 回投票済みです。これ以上この写真に投票することはできません", $max_same);


405行目と439行目辺り
$error = sprintf("You have already voted %s times", $max_all);
↓
$error = sprintf("回投票済みです。最大投票数に達したので、これ以上投票することはできません", $max_all);


286行目辺り
'</span> <i class="fa fas fa-thumbs-up fa-thumbs-o-up fw"></i> Vote <span style="display:none;" id="gallery-voting-loading-'
↓
'</span> <i class="fa fas fa-thumbs-up fa-thumbs-o-up fw"></i> いいね <span style="display:none;" id="gallery-voting-loading-'


実際の運用時には以下の日本語変換は不要かもしれません。
-----------------

395行目と429行目辺り
$error = "Database could not be updated";
↓
$error = "データベースを更新することができません";


444行目辺り
$error = "No photo was specified"; 
↓
$error = "指定された写真がありません"; 

447行目辺り
$error = "No data was posted";
↓
$error = "投稿されたデータがありません"; 
 

2.プラグインを有効化し、初期設定を行います。


3.パソコン、タブレット、携帯での表示を確認します。


4.エラーが日本語になっているかを確認します。


5.light-box2を採用し見やすくしました。


6.投票数をリセットする場合は、PhpMyAdminを利用しデータベースの中からgallreyvotesのテーブル内のデータを全て削除すればリセットされます。また、日付を選択し不要なデータを削除すればある指定する日付からの投票が有効になります。


投票ボタンを撤去する場合はプラグインGallery Votingを無効にすれば投票ボタンは表示されなくなります。