人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: makocan
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● rouge_2008
●100ポイント ベストアンサー

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', ?)」)で表示した方がいいように思います。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ