WordPressのダッシュボード以外から投稿できる会員制サイト作成。
2012年10月07日
小学校の同期会があり、連絡用にホームページを作ることになり担当しました。
用件は以下の通り。
- 誰でも見られるページを作る。
- 登録メンバーしか見られないページを作る。
- 誰でもユーザー登録できるが、管理者の承認を必要とする。
- 登録メンバーは誰でも投稿できる。
- 投稿には、最低1枚の写真(画像)を添付できる。
- ダッシュボードは使用せず、分かりやすいボタンで「ログイン」「ユーザー登録」「投稿」を表示する。
ダッシュボードを隠蔽すること自体は、theme-my-loginというプラグインでかんたんにできます。
ログイン状態によって見せるページをコントロールすることは、Allow-Categoriesで実現できます。
問題はダッシュボードを使わない投稿です。
これは 高橋文樹.comさんの「WordPressで管理画面以外から投稿させる機能を作る」を参考にさせていただきました。
こちらではカスタム投稿タイプを使用していますが、’post_type’ => ‘threads’,を’post_type’ => ‘post’,にすることで通常の投稿として扱えます。
次に画像添付です。
これはyonesakaさんの「WordPressで画像アップロード付き投稿フォームをつくるメモ」でほぼ解決します。
ただしこのままでは投稿に原寸ファイルが貼られてしまいます。
使用されているwp_get_attachment_urlではサイズ指定をしてアップロードファイルのURLを取得できないため、かわりにwp_get_attachment_image_srcを使用してサイズ指定しています。
そのままでは配列ですので、array_shift()で 最初の要素(サイズ指定した画像ファイルのURL)を取り出しています。
サンプルページを公開します。
まだソースが整っていないため、後日公開します。
この記事は2012/10/07に公開され、253 views読まれました。