会員情報をメンバーページ以外に表示するショートコードはありますか
- このトピックには4件の返信、2人の参加者があり、最後にdswdsw123456により8年、 6ヶ月前に更新されました。
-
投稿者投稿
-
2016年2月12日 10:52 AM #77340dswdsw123456参加者
ログイン後の
会員情報(氏名・メールアドレスなど)を
メンバーページ以外に表示する
ショートコードはありますか具体的に行いたいことは
ユーザーがログインしている際に
ContactFoam7で作成したお問い合わせフォームの
氏名・メールアドレスなどの記入欄の
初期値に、ユーザー氏名などのショートコードを入れログインしている場合の
記入箇所を減らしたいと思っております。何卒よろしくお願い申し上げます。
2016年2月12日 6:02 PM #77348yasumaxキーマスターこんにちは。
会員情報のショートコードは用意されていません。
管理画面から問い合わせフォームの編集で初期値のショートコードをいれるイメージをされていますでしょうか。
Contact Form 7では、フォームタグは全てショートコードで記述する形になっていますので、さらに内側に別のショートコードをいれることはできません。Contact Form 7側で
wpcf7_form_tag
というフィルターが用意されているので、そちらを利用して各フォームのvalue値に会員情報をいれる形でやってみてはいかがでしょうか。
会員情報はusces_memberinfo( ●●, 'return' )
で各種取得することができますので挑戦してみてください。※余談ですが、Contact Form 7には、HTTP GET 変数からデフォルト値を取得する方法が用意されていますが、会員情報の場合この方法はやめておいたほうがいいかと思います。
2016年2月24日 10:48 AM #77535dswdsw123456参加者お教えいただいた方法で、試してみたのですが
どうしても上手くいきませんでした。function my_form_tag_filter($tag){ if ( ! is_array( $tag ) ) return $tag; $user = usces_localized_name( usces_memberinfo( 'name1', 'return' ), usces_memberinfo( 'name2', 'return' ) ); if($user) { $name = $tag['name']; if($name == 'your-name') $tag['values'] = $user; } return $tag; } add_filter('wpcf7_form_tag', 'my_form_tag_filter', 11);
フォームの【input name】が【 your-name 】だった場合
values値に、会員情報【 name1・name2 】
を入れるとしてみましたがvalues値に入らず
フォーム外に表示されてしまいます。welcartプラグインの
質問範囲外かとは思いましたが
どうしても、解決できず
困ってしまい、ご質問させていただきました。よろしければ、お教え下さい。
何卒よろしくお願いいたします。
——————————————-
WordPress のバージョン:4.4.2
Welcart のバージョン:Version 1.7.2
ご利用のテーマ:デフォルトテーマをカスタマイズ
SSLの利用:無し
——————————————–2016年2月24日 11:02 AM #77536yasumaxキーマスターこんにちは。
usces_localized_name
は第3引数がない場合、echoします。
変数として利用するのであれば第3引数に'return'
を指定してください。2016年2月26日 10:29 AM #77574dswdsw123456参加者ご回答ありがとうございました。
・変数であれば、return
・第3引数がない場合は、echoする。参考になりました。
以前のコードを少し修正して以下で
問題が解決いたしました。function my_form_tag_filter($tag){ if ( !is_array( $tag ) ) return $tag; $user = usces_localized_name( usces_memberinfo( 'name1', 'return' ), usces_memberinfo( 'name2', 'return' ), 'return'); if(isset($user)) { $name = $tag['name']; if($name == 'your-name') $tag['values'] = (array)$user; } return $tag; } add_filter('wpcf7_form_tag', 'my_form_tag_filter', 11);
ありがとうございました。助かりました。
※ contactform7側の問題でwatermarkに指定があると
valuesに入らずplaceholderに入ってしまうようです。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。