オプションのフィールドがいくつかあるフォームがありますが、ユーザーが入力しないと、入力のラベルがメールで送信され、空になります。たとえば、ユーザーが都市フィールドを入力しない場合、電子メールには City と表示されます。
ユーザーがオプションのフィールドを入力しない場合にラベルが送信されない条件を設定する方法はありますか?
オプションのフィールドがいくつかあるフォームがありますが、ユーザーが入力しないと、入力のラベルがメールで送信され、空になります。たとえば、ユーザーが都市フィールドを入力しない場合、電子メールには City と表示されます。
ユーザーがオプションのフィールドを入力しない場合にラベルが送信されない条件を設定する方法はありますか?
短い答え: はい、しかし。
長い答え: Wpcf7 には、送信時などのイベントがあり、その時点でデータを抽出して操作するためにフックできます。これは、開発者自身が実際に使用することを意図しているため、プラグインの十分に文書化された側面ではありませんが、関数に add_hook コマンドを書き込むことができます。php ファイルを開き、独自の関数を使用して出力を変更します。
送信フックは「wpcf7_send」と呼ばれていると思うので、次のような関数を書くことができます:
function beforesend($obj) {
//manipulation of message here
}
add_hook('wpcf7_send', 'beforesend');
これは出発点にすぎませんが、少し調べることで、必要なフック名とクラス構造を見つけることができます。