2016-05-05 11 views
0

私はページテンプレートで作業していますが、どのようにPHPの文字列をエコーすることができますか?基本的に私はスライダコードと呼ばれるページ用のWordpress内にカスタムフィールドを設定して、適切なスライダがページに表示されるようにスライダーコードを貼り付けるようにユーザーに求めます。与えられたスライダーコードは次のようになります。[soliloquy id="82"]WordpressのテンプレートPHPの文字列をエコーする

カスタムフィールドプラグインは、私にこのようになります。これは、そのフィールドにあるものは何でも出てエコーするテンプレートで使用するには、このコードを提供します:ワードプレスで<?php echo CFS()->get('slider_code'); ?>

があるがdo_shortcodeと呼ばれるPHP関数を使用してそのコードを使用できるようにすると、次のようになります。<?php do_shortcode('[soliloquy id="82"]'); ?>とスライダが表示されます。では、<?php echo CFS()->get('slider_code'); ?>文字列とdo_Shortcode文字列をマージする方法はありますか?そうでない場合は、誰にもこの問題の代替ソリューションがありますか?私は個々のスライダごとに別々のページテンプレートを作る必要があると考えることができます。

EDIT:私はdo_shortcode関数が実際には独唱の短いコードでは全く機能しないことを発見しました。それは私にこのコードを使用するオプションを与えます:if (function_exists('soliloquy')) { soliloquy('82'); }。しかし、このコードをそのままカスタムフィールドに貼り付けると、<?php echo CFS()->get('slider_code'); ?>タグがそのテキストをエコーアウトします。 <?php?>のカスタムフィールドにコードをラップすると、インスペクタ内のコードにコメントするだけです。これをどうやって回避するのですか?

答えて

0

これをチェックしてください。

$slider = CFS()->get('slider_code'); 
call_user_func('do_shortcode', $slider); 

do_shortcode(CFS()->get('slider_code'))を実行できない理由がわかりません。

それから、これを試してみてください。このコードをテンプレートファイルに貼り付けます。

<?php if (function_exists('soliloquy')) { soliloquy(CFS()->get('slider_code')); } ?>

そしてslider_code入力のための単に '82' を入力します。テンプレートファイルが何であるかわからない場合は、上記のコードを貼り付ける必要があります。その後、WordPressのテンプレートコンベンションを見てみてください。

+0

こんにちはJohnさんからのお返事ありがとうございます。私のPHPに関する知識は実際には限られています。PHP文字列の中にPHP文字列をエコーすることはできないと思いました。今すぐあなたの解決策を試してみましょう。 –

+0

申し訳ありませんが、このコードスニペットをテンプレートでどのように使用するのか本当に混乱しています。 –

+0

私の編集をチェックしてください。 –

関連する問題