2016-12-09 14 views
1

私は、鉛フォームを集中管理するためのカスタム投稿タイプを書きましたが、これには短いコードが含まれているため、[lead-form id = "574" ] - この例では、574はリードフォームのIDです。これをページに追加すると、鉛フォームを含むランディングページに特定のテンプレートが使用されます。Wordpress ShortCode属性値をテンプレートに渡す

私はテンプレートでアクセスする必要があるカスタムポストタイプのフィールドがありますが、それらにアクセスするには、まずリードフォームのIDが必要です。私はこれを少し良くすることを望むいくつかのスクリーンショットを含めました。

リード形は、中央574はshordcodeのコードがために使用されるwhile(have_rows('pages', $atts['id'])): the_row();フィールドを使用してIDをつかむ

enter image description here

を送信するには、カスタムのIDであり、この例では、カスタムポストタイプで管理されていますカスタムポストタイプは、ページのリピーターであり、定義済みのリピーターのリピーターを持つリピーターの質問を持ちます。これらのフィールドは、拡張カスタムフィールドプラグインを使用して作成されます。ショートコードは、基本的にはページ/質問/回答をループし、ショートコードが返す文字列を作成しています。短いコードをページに追加するときは、「ページ属性」セクションにテンプレートを指定して、スタイルとJavaScriptを含めることができます。

enter image description here

テンプレート - 鉛 - form.phpはショートに内蔵されている文字列がthe_content()で出力された「フォームをリードLP」のために使用されるファイルである、しかし、2つのフィールドがありますそのI私がリードフォームにIDを渡すだけでアクセスできる必要があります。

enter image description here

答えて

1

私はpost_contentであなたのショートを検索し、そこからIDを取得したいです。正規表現は私の強みではありませんが、おそらく次のようなものでしょう:

preg_match('/\[load-form [^\]]*id="([0-9]*)"\]/', $post->post_content, $res); 

その後、$ res [1]のIDを持つことになります。

+0

はい、見つかりました。ありがとうございます。これは私の最初のWPプロジェクトなので、私はnoobのように感じる... – Neil

関連する問題