2016年8月14日SHAREツイートシェアはてブLINEPocketWordPressをベースにWebアプリケーションを開発している場合は、様々なデータの入力をWebアプリケーションの画面から直接行えるようにしたいことが多くあります。ショッピングサイトで商品データの入力をアプリ上から行いたいような場合です。そこで今回はPodsというプラグインを利用して、管理画面からではなく、フロントエンドからデータの入力が行えるフォームを作成する方法をご紹介します。編集時の環境データを格納するカスタム投稿タイプを作る固定ページを使って入力用の画面を作る入力画面用のテンプレートを作るテンプレートにロジックを書く入力用の画面を開く記事を作成する作成した記事を確認する最後に編集時の環境この記事の編集時に利用した環境は以下の通りです。Podsはここから入手できます。データを格納するカスタム投稿タイプを作るカスタム投稿タイプはWordPressになれていない人には聞きなれない言葉ですが、簡単に言うとデータベースにテーブルを作るようなものだと考えてください。厳密にはwp_postsというテーブルにあるpost_typeにタイプを追加していくことになるのですが、WordPressでアプリケーション開発をする時は、テーブルを追加するのではなく、カスタム投稿タイプを追加するというのがお勧めです。理由はWordPressでWebアプリを作るときは既存テーブルがいいのか?カスタムテーブルがいいのか?にまとめていますのでご覧ください。Admin」をクリックします。表示された画面で「新規作成」をクリックします。次に表示された画面で以下の様に設定します。Articles今回は外部のライターさんに管理画面からではなく、フロントエンドから記事を投稿してもらいたいという場面を想定して、Article(記事)というカスタム投稿タイプを作ります。Stepをクリックします。article」という画面が開き、これでarticleというカスタム投稿タイプが作成されました。Options」タブをクリックします。Page」にチェックを入れます。今回の場合はhttp://(ドメイン名)/article/で記事の一覧が表示されるようになります。Status」を「公開済み」にします。管理画面のサイドバーに「Articles」が作成されます。固定ページを使って入力用の画面を作る今回はcreate-articleというslugで固定ページを作成します。タイトルとスラグを入力後、公開します。入力画面用のテンプレートを作るテーマの中にあるpage.phpを複製して、page-create-article.phpを作ります。テンプレートにロジックを書くpage-create-article.php内のメインロジック部分を以下の様に書き換えます。$pod_article->form();?>入力用の画面を開く先ほど作ったcreate-articleを開くとArticlesが入力できるフォームが作成されていると思います。このままだと全ての項目が入力できてしまうので、入力できる項目を指定します。今回はタイトルとコンテントを表示し、それぞれ、ラベルに「タイトル」「本文」を指定します。タイトルを必須項目としています。'登録');?>これでもう一度create-articleを開くと先ほど指定した項目のみでArticlesが入力できるフォームが作成されます。Podsのフォームのより詳しい使い方についてはこのページで説明がされています。記事を作成するcreate-articleを開いて記事を入力します。表示してみると、公開済みとなっている記事の一覧が表示されます。最後にこの記事ではPodsを使ってフロントエンドからデータを入力できるフォームが簡単に作れるということを説明することを目的にしています。そのためユーザーの権限チェックなどはしていないため、誰でもデータが入力できるようになっています。実際のWebアプリケーションでは、登録したユーザーしかデータを入力できないようにする必要があるでしょう。コメントをキャンセルメールアドレスが公開されることはありません。学習しながらまとめているページ次の記事WordPressでWebサービス作ったよ!のまとめプロフィール深谷正人こんにちは!マッチングサービス構築アドバイザーの深谷正人です!40歳の時にノープランでマイクロソフトを辞めて起業したものの、最初の1年半は何をやっても上手くいかずほぼ無収入。それでもあきらめずに挑戦を続けて、2つのマッチングサービスを運営したり、スモールビジネスのオーナー向けに稼げるホームページの作り方を教えたりと、自由な働き方と収入の両立した生活を送っています。現在はマッチングサービスの作り方を教えているので興味があったら、ぜひページを見てくださいね。特定商取引法に関する。