ContactForm7 内テキストボックスに仮想通貨の単価を入れたい
Contact Form 7(ver5.0.3)
Wordpressバージョン 4.9.7–ja
MySQL 5.5
WordpressのContactForm7を使っています。
次のようなコードをfunction.phpに記述し独自のショートコードを作っています
/** * 仮想通貨の取得関数 **/ function bizTicker($atts) { extract(shortcode_atts(array( 'currency' => 'btc', 'type' => 'last', ), $atts)); $base_url = 'https://api.zaif.jp/'; $responce = file_get_contents($base_url . 'api/1/ticker/' . $currency . '_jpy'); $array = json_decode($responce,true); return number_format($array[$type]); } //仮想通貨の価格表示ショートコードを追加(コンタクトフォーム以外用) add_shortcode('ticker', 'bizTicker'); //仮想通貨の価格表示ショートコードを追加(コンタクトフォーム用) wpcf7_add_form_tag('ticker', 'bizTicker');
ネットからの情報通り、"add_shortcode"ではショートコードが文字列で表示されただけでした。
そして"wpcf7_add_form_tag"を追加することでショートコードがショートコードとして認識されました。
発生している問題・エラーメッセージ
MONAの終値は、[ticker currency="mona" type="last"]円です。
こういうショートコードを入れると
MONAの終値は、0円です。
と表示されてしまいます。
試したこと
おそらく挙動から察するに、ショートコードは問題なく処理され、apiを取得する部分の処理に問題があるのだと予想します。
固定ページでは同じショートコードの表記で値が表示されることから、function.php内のコードには問題が無く、
contactForm内での処理になにかヒントがある気がします。
現状は解決できておらず、固定ページに表示しております。
つまり、テキストボックスへの値を入れることはできておりません。
補足情報(FW/ツールのバージョンなど)
事前に入れてあげたいテキストボックスをAとした場合、
1.コンタクトフォームのテキストボックスAに値を入れたい
2.難しければテキストボックスAのすぐ上かすぐ下に値を表示したい
contactFormを採用している理由は、各テキストボックスに値を入れた後、
送信ボタンでメールが飛ぶ仕組みが使いたいだけですので、別の方法を採用する方が早ければ検討します
あなたの回答
tips
プレビュー