WordPressで質問です。

inquiryformを使用しているのですが、固定ページや記事内に
タグを埋め込むと実現できることは分かったのですが
PHPやカスタムフィールドテンプレートで表示がされません。

上のどちらかで問い合わせを導入したいのですが
何か良い方法はありませんか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/03/09 09:26:07
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:rouge_2008 No.1

回答回数595ベストアンサー獲得回数351

ポイント100pt

PHPというのは、テンプレートファイルですか?
すべての固定ページや記事ページで表示したい場合は、以下のコードを固定ページあるいは個別投稿用のテンプレートファイルに記述するといいです。
(form_idは任意で変更してください。)

<?php echo do_shortcode('[inquiryform form_id=1]'); ?>


あるいは

<?php
    $form_shortcode = '[inquiryform form_id=1]';
    echo apply_filters( 'the_content', $form_shortcode );
?>


※条件分岐をすると特定の固定ページあるいは記事ページだけに表示する事も可能です。

http://technolog.jp/website/cms/2928
http://codex.wordpress.org/Gallery_Shortcode


固定ページあるいは記事ページごとに違うフォームを表示したい場合は、カスタムフィールドを使用します。
固定ページまたは記事の編集画面で、任意の名前と値のカスタムフィールドを追加すると、そのカスタムフィールドに値がある場合のみ表示されます。
例えば、記事のIDが8の投稿で、カスタムフィールドの名前「My Inquiry」、値が「[inquiryform form_id=1]」を、記事のIDが12の投稿で、カスタムフィールドの名前「My Inquiry」、値が「[inquiryform form_id=2]」を追加したとします。
記事ID8のページでは[inquiryform form_id=1]のフォームが表示されますが、記事ID12のページでは[inquiryform form_id=2]のフォームが表示され、それ以外のページではフォームは表示されません。

テンプレートファイルには以下のように記述しておきます。

<?php echo apply_filters('the_content', get_post_meta($post->ID, 'My Inquiry', true)); ?>


http://word-express.net/customfield
http://wpdocs.sourceforge.jp/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9
http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_post_meta


※カスタムフィールドテンプレートというのが、Custom Field Template(http://wordpress.org/extend/plugins/custom-field-template/)の事なのでしたら、用途が違いますので、inquiry form(http://wordpress.org/extend/plugins/inquiry-form-creator/)とは併用できないと思います。
カスタムフィールドテンプレートは、固定ページや投稿の編集画面での入力フォーマットを独自に作成する為のもののようですので・・・

ただ、カスタムフィールドテンプレートの入力フォームで入力された内容と共に、inquiry formで作成したフォームを表示したいという事でしたら、「[cft] and [cftsearch] Shortcode Format」の欄の任意の箇所にinquiry formのショートコードも記述しておくといいです。
※「Auto Hook of `the_content()` (Experimental Option)」で表示する事も出来るようですが、場合によっては繰り返し表示されてしまいますので、テンプレートに上記で紹介したコード(「echo do_shortcode('~')」あるいは「apply_filters('the_content', ~)」)で表示した方がいいように思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません