2016-07-28 5 views
0

私持っている私はWordPress withing選択ボックスで私の製品カテゴリをエコーすることを可能にする次のコード:私は私のforeachループから返された値を使用しようとしています使用json_encode()

$arguments = array(
      'number'  => $number, 
      'orderby' => $orderby, 
      'order'  => $order, 
      'hide_empty' => $hide_empty, 
      'include' => $ids 
); 

$product_cats = get_terms('product_cat', $arguments); 

foreach ($product_cats as $cat) : 
    echo '<option value="' . $cat->term_id . '">' . $cat->name . '</option>'; 
endforeach; 

をjson_encode()内で、私のjavascriptコードでカテゴリを使用できるようにします。

しかし、私はそれを行う方法を理解することはできません、誰もガイダンスを提供できますか?

私はそれはjavascriptのタグに

+0

json_encode($ cat); foreachの中に? – Janno

+1

なぜ 'json_encode()'を使いたいのですか? –

+0

echo ''; echo json_encode($ product_cats)のみを使用してください。外側のループ。あなたの全体の出力は1つのjson文字列でなければなりません – Mickey

答えて

0

試して動作しない

<?php echo json_encode($product_cats); ?> 

を使用している場合は、

<script type="text/javascript"> 
    var myCatJSON = JSON.parse('<?php echo json_encode($product_cats); ?>'); 
</script> 
+0

これが答えならJSONが必要な理由 – Mickey

0

これはjavascriptタグ内で行うことができます。コードがPHPタグの外にあることを忘れないでください。このようなスクリプトタグでそれを配置しようと示唆した他の回答として

<script type='text/javascript'> 
<?php 
$cat_array = json_encode($product_cats); 
echo "var javasc_cat_array = ". $cat_array . ";\n"; 
?> 
</script> 
0

<script> 
    var cat = <?=json_encode($product_cats); ?> 
</script> 

そして、あなたはjavascriptオブジェクトとして猫を使用することができます。

P.S. :これを使用することを忘れないでください前にあなたは配列を "空にする" foreachループを行います。