サイトにアクセスしたきたユーザーからの投稿を可能にするプラグイン。なかなか、望んでいる機能のものは見当たらないが、「User Submitted Posts」は希望に近い。
(期待する機能)
1.ユーザー登録せずに投稿できること。
2.テキストだけでなく画像も投稿できること。
3.投稿後、管理者による承認の後、公開となること。
4.入力送信の際の認証機能があること。
5.操作が簡単であること。
以上の5点がほしい。当サイトの「ペット紹介フォーム」がこれである。
(「User Submitted Posts」の主な特徴)
1.投稿テキストだけでなく、画像を一緒に投稿される。
2.画像の数はいくつでも可能。(メディアライブラリーに保存される)。
3.投稿画像数、指定可能。
4.画像のサイズ、最大、最小を設定可能。
5.フォームの入力項目は必要最低限に設定可能。
6.投稿者は投稿する内容のカテゴリーを指定可能。
7.投稿成功、失敗のメッセージ表示が可能。
8.投稿内容は管理者の承認後公開の設定可能。
9.投稿時の入力認証が可能。
このプラグイン、いろいろ課題も抱えているようなので、当サイトの環境を整理しておく。
・WordPress v3.5.1
・User Submitted Posts v20130104
・PHP : Version 5.2.11
・Mysql Version 5.1また、使用するテーマによっては正常に稼動しないこともあるようだ。
【User Submitted Postsプラグインのインストール手順】
(1)WordPress プラグイン新規追加よりUser Submitted Postsを
インストールする。
(2)プラグインを有効化する。
(3)管理画面左のダッシュボードの下のほうのメニュー「設定」の中に
「User Submitted Posts」が表示される。
(4)「設定」ー>「User Submitted Posts」をクリック。
(4)「User Submitted Posts」の管理画面が表示される。使用するのは「Options」だけ。使用方法は「Shortcode & Template Tag」にある。
(5)Optionsの画面を開くと日本語のカテゴリ名部分に文字化けがある。改善されていた場合、以下は無視する。
・user-submitted-posts.phpの730行目あたり。
<span><?php echo htmlentities($category->name); ?></span> ↓ ↓ ↓ ↓ <span><?php echo htmlentities($category->name, ENT_QUOTES, 'UTF-8'); ?></span>
・views/submission-form.phpを開いて58行目あたり。
<?php $category = get_category($categoryId); echo htmlentities($category->name); ?> ↓ ↓ ↓ ↓ <?php $category = get_category($categoryId); echo htmlentities($category->name, ENT_QUOTES, "UTF-8"); ?>
(6)英語表示なので要所を、日本語化する。(公開画面のみ対象とする)
views/submission-form.phpのなかの英文、英語項目名等を日本語に変更する。30行目~80行目あたり。
【Your Nameー>お名前に変更】
<label for="user-submitted-name"><?php _e('Your Name'); ?></label> <input name="user-submitted-name" type="text" value="" placeholder="<?php _e('Your Name'); ?>">
↓ ↓ ↓ ↓
<label for="user-submitted-name"><?php _e('お名前'); ?></label> <input name="user-submitted-name" type="text" value="" placeholder="<?php _e('お名前'); ?>">
必要に応じて下記の項目名も同様に変更する。
Your URL
Post Title
Post Tags
Post Category
Post Content
Upload an Image
Add another image
Submit Post
(7)投稿された際に、メッセージで知らせるを設定した場合、英語のメールが届く。日本語に変化する場合のサンプル。
user-submitted-posts/user-submitted-posts.php の283~284行目あたり
$subject = 'New user-submitted post!'; $message = 'Hey, there is a new user-submitted post waiting for you.'; ↓ ↓ ↓ ↓ $subject = '【小さな門】新規投稿がありました!'; $message = '外部ゲストより、投稿がありました。承認待ちとなっています。';
(9)このプラグインの利用方法は、コード、タグを、設置したいページに配置するか、テーマのどこかに下記のタグを埋め込む。
1.画像最大幅、縦をオーバーした画像を送ると、画像は送られない。
エラーメッセージも出ない。
2.画像はメディアライブラリーに保存されるだけで、投稿記事内には
配置されない。
3.投稿された記事は、承認待ち状態で保留される。サイト管理者は
投稿の編集で送られてきた画像を投稿記事内に設定し公開する。
投稿された記事内に、一緒に投稿された画像を設置する方法があるようだが、WordPressのカスタマイズが必要のようだ。これは余り望まないので、後日時間があれば試してみる。標準機能だけで今のところ十分に使えると思う。