0

テキスト ウィジェットで if 条件を実行しようとしています。これをテーマ関数ファイルに追加しました

function execute_php($html){
 if(strpos($html,"<"."?php")!==false){
      ob_start();
      eval("?".">".$html);
      $html=ob_get_contents();
      ob_end_clean();
 }
 return $html;   

} add_filter('widget_text','execute_php',100);

しかし、このようなphp条件を書くと、90行目でエラーがスローされます which eval("?"."?".$html) そしてここに正確なエラーがあります

解析エラー: 構文エラー、/functions.php(90) の予期しない '{': 13 行目の eval()'d コード

ここに私が書いている条件があります

    <?php if (is_post(43)) { ?>
 <div class="book">
  <a class="button" href="/product1">Buy Now</a>
 </div>
<?php } elseif (is_post(37)) { ?>
  <div class="book">
  <a class="button" href="/product2">Buy Now</a>
 </div>
<?php } elseif (is_post(30)) { ?>
 <div class="book">
  <a class="button" href="/product3">Buy Now</a>
 </div>
<?php } else (is_post(24)) { ?>
  <div class="book">
    <h5>Buy Now</h5>
    <select class="sportsman-colors" onchange="document.location.href=this.value">
     <option value="-1" selected>Choose Color</option>
     <option value="/product4">Green</option>
     <option value="/product6">Red</option>
    </select>
 </div>
<?php } ?>

誰かが私が間違っているところを教えてください。すべてのタグを閉じています

ありがとう

4

2 に答える 2

0

代わりに Widget Logic のようなプラグインを使用して、is_post(24)別のテキスト ウィジェットの下に条件を追加することもできます

于 2013-06-01T20:59:23.527 に答える