MW WP Formでフォームごとにスラッグを設定して表示させる方法

  • ブックマーク
  • -
    コピー

受託開発をする際の進め方として一般的なのが、ローカル環境で開発をして、データをテスト(もしくは本番)環境にアップロードするという流れがあると思います。

僕も例に漏れず、ローカル開発環境(WordPressの場合は、Local by Flywheel)で開発を進めて、どこかのタイミングでアップロードするのですが、MW WP FormなどのフォームID番号がローカルと本番とで変わってしまう状況がとても面倒に感じていました。

こんなことに困っていました

例えば、ローカル開発環境内でMW WP Formを使ってお問い合わせフォームを作ったとします。その際に、ショートコードが発行されるのですが、そこに番号が書いてあると思います。

お問い合わせフォームと言えど、固定ページにペタっと貼るだけの場合は少なく、page-slug.phpといった具合にファイルを作ってカスタマイズすることもしばしばです。

その際に、PHP側で出力した方が楽な時が多いので、よくecho do_shortcode();でショートコードを書き出してしまいますが、ローカルで作ったフォームと本番環境で別に作ったフォームとでは、番号が一致させるのが結構面倒で、いつも違う番号になってしまっていました。

これに関する対応方法がわからず、毎回2つ(ローカルのフォームと本番のフォーム)のショートコードを書いてコメントアウトしてアップしたりしていたのですが、かなり非効率…。みんなどうしているんだろうと思って、こんなことをツイートしていました。

そしたら、開発者の北島さんがレスポンスしてくださって、

との情報をいただいて、早速試してみました!(マニュアルちゃんと読め!って怒らないで…

MW WP Formでフォームにスラッグを設定してPHPからechoでフォームを表示させる方法

まずは、フォームを作ります。キャプチャはテストなので簡単に入力部分を表示させているだけです。

そして、そのフォームの編集画面で、右上の【表示オプション】をクリックすると、このような色々とチェックできる画面になるので、その中の【スラッグ】にチェックを入れます。

すると、フォーム作成エリアの下に、スラッグを設定できる部分が表示されているはずです。デフォルトではフォーム名になっているはず。

デフォルトの名称からcontactに変更してみました。

あとは、PHPファイルから出力するだけです。任意のPHPファイルの任意の場所から、

<?php echo do_shortcode( '[mwform_formkey slug="contact"]' ); ?>

これで、設定したフォームがごっそり表示されると思います。

上記コードは、MW WP Formのスラッグをcontactとした場合のソース例になります。皆さんの環境に合わせて適宜読み替えてください。

まとめ

これでフォームのID番号がローカルと本番で違っていてもスラッグで紐づけることができるのでとても楽ですね!

北島さん、ありがとうございましたー!!

iTunesやSpotifyでも

ウェブサイトだけでなく、iTunesやSpotifyでもPodcast配信しています。





あなたのホームページのお話をしませんか?

堅苦しい形式での打ち合わせや商談は苦手です。そうではなく、気楽にカフェや喫茶店で雑談するくらいの雰囲気で、あなたのホームページのお話をしませんか?(珈琲代は割り勘で)

岐阜市内近郊であれば直接ご対面で、そうでなければSkypeなどでどうですか?

  • ブックマーク
  • -
    コピー

この記事を書いた人

久野 晃司

Gifu WordPress Meetup共同オーガナイザー。岐阜を中心にWeb全般のお仕事をしているフリーランスです。趣味はサッカー観戦。専門は英国プレミアリーグ、マンチェスターユナイテッドを贔屓しています。英国滞在歴2年、日常英会話は大丈夫です。20ヶ国以上列車で単独周遊してきました。WordPress大好きです。プログラミング教育に興味があります。

この記事が気に入ったら
いいね!しよう

最新の情報をお届けします