ログイン不要で投稿できるWordPressを作ってみる話
きっかけWordPressで記事を書くとき、通常は管理画面にログインし、投稿画面を開き、タイトルと本文を入力して……という流れになります。ですが正直なところ、これが少し面倒に感じることがあります。たとえば、お客様に「アンケート感覚で気軽に投稿していただきたい」というケースや、スタッフにもログインID・パスワードを渡さずに投稿だけしてもらいたいケース。こうした場面では、いちいち管理画面にログインしていただくのは現実的ではありません。そこで思いついたのが、ACF(Advanced Custom Fields)とContact Form 7を連携させ、HTMLフォームから直接投稿できる仕組みを作ることでした。発想はシンプル考え方自体は、とてもシンプルです。・Contact Form 7で入力フォームを用意する・送信されたデータをフックして拾う・ACFのカスタムフィールドに値を流し込みながら、投稿を新規作成するこれだけ聞くと、「それなら簡単そうだ」と思われるかもしれません。実際、頭の中で設計している段階では、パズルのピースがきれいにハマっていくような感覚さえあります。管理画面を経由せずに、フォームに答えるだけで投稿ページが自動生成される。ログインは不要です。お客様は「フォームに答えた」という感覚しかないのに、裏側ではきちんとWordPressの投稿として記事ができあがっています。でも、実装すると急に難易度が上がるここからが本題です。実際にコードを書き始めると、想像していたよりずっと骨が折れます。CF7側の送信データをどう拾うか、wpcf7_before_send_mailやwpcf7_
0