contentWordPressのフォーム送信から投稿を作成し、カスタムフィールドへ追加した話WordPressformContactForm7advancedcustomfieldscustomFieldフロントエンドエンジニアをしていますが、最近は以前にも増してWordpressの実装が多くなってきました。数をこなしているうちにWordpressに絡むベーシックなPHPは結構わかるようになっていますが基本的には文字の処理とかループ回してとかそういうのがメインで、それ以上はいつも先人の知恵(検索)に助けられています。今回、案件でタイトルの通りフォームの送信時にメール送信だけではなく非公開で投稿を作成してほしい(いわゆる投稿フォーム)という依頼があり、仕様と完全に合致する情報も少なく、私にとってはとても頭を悩まされたので記録として残しておきます。Fields」で設定済み投稿は、カスタム投稿フォームの項目は、氏名、メール等の基本的な内容に加えて、画像もありフォームの項目からカテゴリーの選択も可能とする画像を含むという点で一番苦労しました。テーマ側からの投稿作成Wordpress側で用意されている「wp_insert_post()」を使用します。この関数の使い方自体は割と情報があったので、公式へのリンクを貼って、詳細は割愛します。用意されているフック「wpcf7_before_send_mail」を使用します。画像送信は、あくまでもメール送信を目的としているため一時ディレクトリにアップロードされ、メール送信が終わった際に削除されてしまいます。そのため、今回作成した関数addAttachmentFromForm()内では、他のアップロード画像と同一のディレクトリへコピーを作成し管理画面の「メディア」から確認可能なように追加しています。フリーランスフロントエンドエンジニア。2002年からコーディングしています。最近はNuxtが好きです。upLoginユーザーは見つかりませんでした。