一緒に悩み、考える。
つくるだけでなく、
そのあとの物語も、ともに。

どんな会社もサービスも、それぞれにストーリーがあります。
花のやはそれをサポートしながら、お客様の成長を隣で見ていたいのです。

一緒に悩み、考える。
つくるだけでなく、
そのあとの物語も、ともに。

どんな会社もサービスも、
それぞれにストーリーがあります。
花のやはそれをサポートしながら、
お客様の成長を隣で見ていたいのです。

ブログBLOG

  1. 名古屋のホームページ制作会社 花のや
  2. 花のやブログ
  3. MW WP FORMでショートコードをテーマファイルに書かない方法
2014/10/30オープンソースWordPress

MW WP FORMでショートコードをテーマファイルに書かない方法

こんにちは、和田です。

先日MW WP FORMがバージョンアップをし、お問い合わせの連番機能がつき
また、確認画面等の遷移でフォームの部分に移動するという機能がつきましたので
今まで公開していた機能強化プラグインの機能を一部削ります。

やはり、プラグインで無理やりやるよりも本体の方の機能を使用したほうが
安定性もいいと思いますのでまだバージョンアップしていない方は試してみましょう!

 

 

MW WP FORMでテンプレートにショートコードを書かない方法

さて、今回もMW WP FORMネタで
テンプレートに直接ショートコードを書かない方法
というのを考えてみたいと思います。

例えば、イベント告知用のカスタム投稿を用意して、その投稿には全てイベント申し込みのフォームを設置したい場合は
普通に考えれば、single-event.phpというテンプレートファイルを作って、テンプレート内に do_shortcodeタグで直接書きたくなります。

ただ、MW WP FORMでは本文(contents)内にショートコードがなければいろいろと面倒になったりします

 

 

どのような方法が考えられるか?

では、方法としてどのようなものがあるか考えてみましょう。

  1. 文末に入力してもらう
  2. 保存するときにショートコードを自動で付加する
  3. 本文には自動で入力させて、書いてもらう本文は別に用意する

この辺りが思いつきました。

1については、最も簡単かつ確実ですが、運用側にそれができる知識があるかどうかになります。
ある程度のルールを決めてあげればいいのですがたまに違う人が触ったりする。担当が変わる場合もある
となるとちょっと大変かもしれません。

2についてはまずいちばんはじめに考えることだと思います。
ただ、こちらも、例えば新規投稿した後、編集した時に変に触られる可能性がないとも言えません。
新規投稿>ショートコード貼り付け
編集時>ショートコードがあったら消す
編集保存時>ショートコードがなければ貼り付け
という分岐で対応できるといえばできますが…ちょっと面倒かも?

ということで3の方法を解説していきます。

 

 

どのように実装していくか

 3の方法をとるにあたって、必要なプラグインは通常、本文を入力する部分を隠すものです。
また、代わりになるエディターを表示したいので、これらに最も最適なものはやはりadvanced custom fieldsではないかと思います。

desc01

このようにコンテンツエディタにチェックを入れれば、コンテンツエディタ部分は表示されなくなります。
これは、ただ単に隠しているだけなので、この隠した場所に用意したフォームタグを自動で入れるようにしてあげればいいだけです。

以下がそのためのコードになります。
これをfunctions.phpに入力します

add_filter( 'default_content', 'insert_formcode', 10, 2 );
function insert_formcode( $content, $post ) {
  if (is_admin()) {
    if ($post->post_type == 'event') {
      $content = '';
    }
  }
  return $content;
}

上の例では、ポストタイプeventを新規で登録するときに
あらかじめ用意したフォームのフォーム識別子を入れる。
ということになりますので、post_typeやフォーム識別子は適宜変更します。

これでテンプレートに書いていろいろと不便な思いをしなくても済みますね。

 

この記事を書いた人:wada

エンジニア担当の和田です。 漆を塗ったりしていましたが最終的にプログラマーへと転職してしまいました。

LINEで送る
Pocket

人気記事ランキング

お問い合わせ

Webサイト制作・その他お仕事のご依頼、
ご相談についてお気軽にお問い合わせください。

  • ホームページ制作で”補助金・助成金”使えます!
  • WEBに関する無料個別相談会
株式会社 花のや
〒460-0008
愛知県名古屋市中区栄2-14-5 山本屋本店栄ビル7階

花のやについて

お仕事のご依頼やご相談は、下記の電話番号
または、メールフォームよりお問い合わせください。
TEL.052-211-9898 / FAX.052-211-9899

お問い合わせ