GD bbPress Attachmentsで、ユーザ登録なしでも画像を添付する方法


WordPressのフォーラムプラグイン「bbpress」で、画像を添付できるようにするためのプラグイン「GD bbPress Attachments」で遭遇した問題の忘備録。

迷子ペットのための掲示板サイト「迷い猫.NET」では、bbpressを使用し、画像添付をするためにGD bbPress Attachmentsを入れてあった。

迷い猫.NETでは、基本的にユーザ登録しなくても利用できるようにしている。ユーザ登録すれば、使える機能が増えるようにはなっているが、利用者が気軽に使えるようにと、ユーザ登録なしでも基本的な投稿はできるようにしていた。

設置当初は、特に問題もなく、ユーザ登録なしでもGD bbPress Attachmentsは画像添付ができていた。
ところが、あるユーザから、スマホ画面からの投稿で、画像添付のボタンが出てこないという問い合わせが来た。

えーー、なんで?
過去の投稿を見てみると、ユーザ登録なしでも画像添付はできていたのだ。

確認してみると、モバイル端末に限ったことではなく、ユーザ登録してログインしていないと、GD bbPress Attachmentsの画像添付の項目が出てこないことが判明した。

開発元のFAQなどを探ってみると、どうやらユーザ権限でanonymous(匿名)の場合は、画像添付を許可しない仕様に変わっているらしいことがわかった。

いつのまに……
そういえば、アップデートしたことがあったのだが……。

▼「添付画像」項目が消えてしまったiPadの画面。

「添付画像」項目が消えてしまったiPadの画面。

「添付画像」項目が消えてしまったiPadの画面。

こりゃ、なんとかしなくちゃ……と、いろいろ調べてみたが、なかなか解決策に辿り着かない。使ってる人が少ないためか、問題に遭遇する事例も少ないのだろう。

ようやくそれらしき解決方法に辿り着いたのが、GD bbPress Attachmentsのソースコードを書き換えるという方法。

該当ファイルは、プラグインフォルダの中にある……
gd-bbpress-attachments > code > attachments > class.php
この「class.php」をいじる。

▼修正前

public function is_user_allowed() {
$allowed = false;

ここのfalseをtrueに変える。ここでユーザ登録の「あり」「なし」を判別している。

▼修正後

public function is_user_allowed() {
$allowed = true;

こうすることで、ユーザ登録がなくても、画像添付のボタンが出るようになった。

画像添付ボタンが復活した画面。

画像添付ボタンが復活した画面。

ということで、GD bbPress Attachments使用時に、ユーザ登録なしでも画像を投稿できるようにする方法。

LINEで送る
Pocket
LinkedIn にシェア