teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

試したことを書きました。

2021/03/12 10:29

投稿

ask1990
ask1990

スコア2

title CHANGED
@@ -1,1 +1,1 @@
1
- 【MW WP Form】smart custom fieldで設定したメールレス宛てに送信した
1
+ 【MW WP Form】カスタムフィールド の値が出力されな
body CHANGED
@@ -1,45 +1,37 @@
1
1
  ### 前提・実現したいこと
2
- 1つのMW WP Formを全ての投稿ページに埋め込み、
3
- smart custom fieldで設定した各ページのメールアドレス宛てに送信したいと思っています。
4
- ```
5
- 投稿A→mail-a@mail.com
6
- 投稿B→mail-b@mail.com
7
- ```
8
- こちらの「「MW WP Form」で作成した問い合わせフォームの送信先を投稿ページごとに設定する方法(https://to-benefit7.com/destination-mw-wpform/)」を参考に設定しましたが、
9
- 全ての問い合わせフォームが1つ目の投稿に設定したカスタムフィールド のメールアドレス宛て送信されてます。
2
+ MW WP Formで送信先を該当投稿ページのカスタムフィールド 「mailfield」にし
10
- ```
11
- 投稿A→mail-a@mail.com
3
+ (質問し直しました。)
12
- 投稿B→mail-a@mail.com
13
- 投稿C→mail-a@mail.com ...
14
- ```
15
- $mailfield = get_post_meta(get_the_ID(), ‘mailfield’, true);
16
- が動いていないのかなと思うのですが理由がわからず、アドバイスいただけないでしょうか。
17
4
 
18
- ### 設定したこと
5
+ ### 実際のコード
6
+ MW WP Form123を投稿ページに呼び出しています。
7
+ カスタムフィールド 「mailfield」も設定しています。
19
8
  ```
9
+ function mail_mwform($Mail, $values, $Data)
10
+ {
20
- ## 各投稿ページ
11
+ global $wp_query;
12
+ $postID = $wp_query->post->ID;
21
- smart custom fieldで作成したカスタムフィールド「mailfield」にメールアドレスを設定
13
+ $fieldform = get_post_meta($postID, 'mailfield', true);
22
-
23
- ## MW WP Form
24
- MW WP Formでフォーム123を作成
14
+ $Mail->to = $fieldform;
25
-
26
- ## single.php
15
+ return $Mail;
16
+ }
27
- 投稿ページに[mwform_formkey key=”123″]を出力
17
+ add_filter('mwform_admin_mail_mw-wp-form-123', 'mail_mwform', 10, 3);
28
-
29
18
  ```
19
+ ### 起こること
30
- ここまで設定は題なかと存じます。
20
+ 1つ目に登録したmailfieldあてに全ての問い合わせがきます。
21
+ 投稿Aの問い合わせフォーム(mailfield:AA@mail) -> AA@mailあてに届く
22
+ 投稿Bの問い合わせフォーム(mailfield:BB@mail) -> AA@mailあてに届く
31
23
 
32
- ## funciton.php
24
+ 以下のようにmailfieldを呼び出した際は正常に表示されます。
33
-
34
25
  ```funciton.php
35
-
36
- function change_admin_address_mwform($Mail, $values, $Data)
26
+ function inpostCf()
37
27
  {
28
+ global $wp_query;
29
+ $postID = $wp_query->post->ID;
38
- $mailfield = get_post_meta(get_the_ID(), 'mailfield', true);
30
+ $field = get_post_meta($postID, 'mailfield', true);
39
- if ($mailfield) {
40
- $Mail->to = $mailfield;
41
- }
42
- return $Mail;
31
+ return $field;
43
32
  }
44
- add_filter('mwform_admin_mail_mw-wp-form-123', 'change_admin_address_mwform', 10, 3);
33
+ add_shortcode('viewCf', 'inpostCf');
45
- ```
34
+ ```
35
+
36
+ MW WP Formで使う際うまくmailfieldが呼び出せないのですが、理由がわかりません。
37
+ よろしくお願い致します。