メシのタネ

Webプログラミング 備忘録

  • DOMをPHPで操作できたらいいよね

    そうだよね。そう思うよね。JavaScriptでやると、画面がガタついたりするもんね。そうならないようにする方法もあるかもしれないけど、僕はできませんので、サーバー側でなんとかできたらええなぁと思って挑戦したけど、できませんでしたよ。PHP標準でHTMLをDOMにできるらしい今、技[...]

    続きを読む
  • 設計書ってなんで書くの?

    設計書をなぜ書くのかから始めてかれこれ3年近くこの禅問答をやっているわけですが、いまだに答えは出ません。ただ、その禅問答をやる中で設計書に対する取り組み方は大きく変わったので、その一部でも書いていきたい。基本設計はとにもかくにも必要だと思う設計書はいらぬ!という話をよく聞くし、自分[...]

    続きを読む
  • 書ききってやる。

    久々に書いてみる。久々に文章を書くということをやってみようと思う。伝える作業を観察したいと思ったからそうしたいと考えた。情緒的な文章は基本的にゴミ箱にぽいしてきましたが、情緒的なのも自分だと思う。「文章をかくという作業は、とりもなおさず自分と自分をとりまく事物との距離を確認すること[...]

    続きを読む
  • 普通の会社で2年普通に働いて思う事

    えらい寒くなりました。文句言いながらも現職を続けて2017年12月1日にめでたく2年がたちました。分かりやすいが乱暴に言えばITドカタと呼ばれる業界に入って案件のヒエラルキーの無慈悲さを痛感しながらも、それでもしょうがないと頑張る人たちに心を打たれながら「じゃあ俺も」と頑張れない自分に挫折して、とあ[...]

    続きを読む
  • jQueryUiのDatepicker利用時にminDate設定するとバグる件

    題名の通りなんですが、DatepickerでminDate使うとバグります。また後でキャプチャ見て貰いますけど、灰色の部分が、minDateで設定した日付が反復して出るようになるんですね。こういうの気が付かない人がいるかも知れませんが、ChoromeでminDate設定してる人は気にしてみてくだ[...]

    続きを読む

【ContactForm7】inputのValue値にカスタムフィールドの値を設定する

wpppppppp
疑問に思ってる人が居たので、どーやるんだろうと思って調べました。これ用にpage.php作らないとダメかなと思ったんですけど、Value値には、カスタムフィールドの値がつけられるみたいです。ちょっとやり方はありますが、公式なやり方ですし、ありそうなケースなので、覚えておいても良いような気がします。

情報源


記事読むのが面倒臭い人は、ContactForm7公式サイトにて手法の公開がされております。そちらを参考にするのが良いと思います。というわけで、公式見ても分からない人は、引き続きお付き合い下さい。

ContactForm7のフォームの設定


最初にコンタクトフォームからショートコードに細工をします。

contactform7

こんな感じでショートコードにdefault:post_metaを書いてやるとカスタムフィールドに設定された値をValue値に設定できるのですが、カスタムフィールドのキーを、nameと同じにしないとダメなので、コンタクトフォームのショートコードを貼り付けるページに今度カスタムフィールドを入力します。

カスタムフィールドの入力


ショートコードを設定する固定ページなり投稿なりに行って、ショートコードを貼り付けた後、カスタムフィールドを入力します。その際に、contactformに設定したname属性の値と同じキーをカスタムフィールドに設定します。

contactform7-2

表示してみる


設定した値が無事反映されていれば、成功です。

contactform7-3

ただ、value属性以外にカスタムフィールドの値を設定する方法を見つける事ができませんでした。placeholderとかに設定したい場合はどうするのかなぁ。valueには設定できるんだしjsでなんとかすればいいのかナー。後、defaultオプションにはpost_meta以外に、getもpostも設定できるっぽいですよ。試してないから実際反映されるかわかんないけど、できるって書いてありましたよ!

おまけ


普通にplaceholderを設定するには

text 1="placeholder" 2="Your name here" language="your-name"][/text

と書きます。ただ、Contact Form 7 3.4以降のオプションなので、それ以前の場合はplaceholderの代わりにwatermarkと書く必要があるそうですよ。

関連記事