サポート » プラグイン » Contact Form 7 メール本文への受付番号表示について

  • Contact Form 7 のメール本文に受付番号を入れたいと考えています。

    Contact Form 7 Serial Numbers
    で実装できるような”タイムスタンプ”もしくは”通し番号”ではなく、
    以下のようなルールでの受付番号を入れたいと考えております。

    190225-01
    [西暦下2桁][日付4桁]-[月ごとの通し番号]

    実現可能な方法がわかる方がいらっしゃいましたら教えていただけないでしょうか。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • こんにちは

    Contact Form 7 のメール本文に何かを挿入したい場合は、wpcf7_mail_components フィルタを使えば可能です。
    フィルタは includes/mail.php にあり、以下のようなソースになっていますので、試してみてください。

    $components = apply_filters( 'wpcf7_mail_components',
    			$components, wpcf7_get_current_contact_form(), $this );

    ※手元のソースが5.1.1なので、上記は5.1.1のソースです。

    独自のなにがしかの番号が必要なのであれば、何らかの名前でオプション値を作成し、そこで「月ごとの通し番号」を管理して取得するたびに一つづつ増やしていけば良いと思います。
    参考:Codex Options_API

    しかし、上記参考ページの WordPress のAPIはデータに対する排他ロックの機能がありませんので、通し番号が重複する可能性がぬぐい切れません。
    厳密な通し番号が必要なのであれば、wp_options テーブルの該当データに対して行ロックする処理をご自分で書く必要があります。
    参考:ロック読み取り (SELECT … FOR UPDATE および SELECT … LOCK IN SHARE MODE)

    • この返信は5年、 1ヶ月前にmunyaguが編集しました。
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「Contact Form 7 メール本文への受付番号表示について」には新たに返信することはできません。