[MW WP Form] usermetaテーブル情報の表示について質問
-
MW WP Formを使用して問合せフォームの作成をしています。
問合わせフォームに名前欄や、住所欄を作成し、
ログインユーザ(usermetaテーブル)の情報をvalueに渡して初期表示したいと考えているのですが、うまくできていない状態です。
なにか表示する方法は何かありますでしょうか?また、ログインユーザ(usermetaテーブル)の情報を送信ボタンを押下したタイミングで更新したいのですが、
こちらもなにか方法がありますでしょうか?wordpress、phpの経験も浅く検討違いな質問をしていたら申し訳ありません。
よろしくお願いいたします。
2件の返信を表示中 - 1 - 2件目 (全2件中)
-
初期表示については下記のフックを利用するとどうでしょうか。
http://plugins.2inc.org/mw-wp-form/filter-hook/mwform_value/「ログインユーザ(usermetaテーブル)の情報を送信ボタンを押下したタイミングで更新」についてもメール送信関係のフックを使って保存する処理を記述すれば可能かと思います。
早速のご連絡ありがとうございます!
また、返信が遅れてしまい申し訳ありません。アドバイス頂いた通りアクションフックを使用することで表示/更新することができました。
初期表示には、”mwform_value_mw-wp-form-xxx”を、
更新には、”mwform_admin_mail_raw_mw-wp-form-xxx”を使用しました。以下にコードを記載させて頂きます。
【ユーザ情報を初期表示】function my_mwform_hoge( $value, $name ) { if ($name === 'hoge') { $current_user = wp_get_current_user(); //ログイン中のユーザ情報取得 return $current_user->meta['wpcf-hoge']; //user_metaテーブルの情報を返す } return $value; } add_filter( 'mwform_value_mw-wp-form-922', 'my_mwform_hoge', 10, 2 );
【ユーザ情報更新】
function upd_prof_lastname( $Mail_raw, $value, $Data ) { global $wpdb; $data = array( 'meta_value' => $Data->get('hogehoge'), 'user_id' => $Data->get('user_id'), ); $sql = " UPDATE <code>". $wpdb->usermeta ."</code> SET <code>". $wpdb->usermeta ."</code>.meta_value = %s WHERE <code>". $wpdb->usermeta ."</code>.user_id = %d AND <code>". $wpdb->usermeta ."</code>.meta_key = 'hoge' "; $sql = $wpdb->prepare($sql, $data); $wpdb->query($sql); return $Mail_raw; } add_filter( 'mwform_admin_mail_raw_mw-wp-form-xxx', 'upd_prof_lastname', 10, 3 );
上記で正常に動くことを確認できました。(正しい書き方かはわかりませんが。。。)
アドバイスのおかげでやりたかったことを実現することができました。
本当にありがとうございました。
2件の返信を表示中 - 1 - 2件目 (全2件中)
- トピック「[MW WP Form] usermetaテーブル情報の表示について質問」には新たに返信することはできません。