8

親カテゴリとサブカテゴリがそれぞれ選択リストに表示される 2 つの配列があります。サブカテゴリに親カテゴリの項目のみを表示するにはどうすればよいですか?

 <?php $carMakes = array(
 'show_option_all'    => '',
 'show_option_none'   => ('All Makes'),
 'orderby'            => 'ID', 
 'order'              => 'ASC',
 'show_count'         => 0,
 'hide_empty'         => 1, 
 'child_of'           => 25,
 'exclude'            => 0,
 'echo'               => 1,
 'selected'           => 0,
 'hierarchical'       => 0, 
 'name'               => 'cat',
 'id'                 => '',
 'class'              => 'postform',
 'depth'              => 0,
 'tab_index'          => 0,
 'taxonomy'           => 'category',
 'hide_if_empty'      => false
); ?>

<?php $carModels = array(
 'name'               => 'subcat',
 'hierarchical'       => 1,
 'parent'             => get_cat_id('model'),
 'show_option_none'   => ('All Models'),
 'hide_empty'   => 0  ); 
?>

<?php wp_dropdown_categories($carMakes); ?> 

<?php wp_dropdown_categories($carModels); ?>

たとえば、自動車メーカーに属する自動車モデルのみを表示する必要があります

Make=Toyota  Model=Supra
             Model=Corolla
             Model=Tundra

カテゴリ構造の例を次に示します。

Make (parent category)
     -Toyota
     -Nissan
     -Mazda
     -Ford

    Model (parent category)
     -Supra
     -Skyline
     -Mustang
     -Rx7
     -Corolla
4

3 に答える 3

1

AJAX を使用せずにこれを行う唯一の方法は、すべての「Make」カテゴリのリストを取得し、wp_dropdown_categories() と child_of パラメータを使用して、各「Make」の各「モデル」のドロップダウンを生成することです。ページの読み込み時にすべての「メイク」ドロップダウンを非表示にし、変更イベント ハンドラーを「メイク」ドロップダウンにアタッチし、それが呼び出されたときに適切な「モデル」ドロップダウンを表示し、残りはすべて非表示にします。表示/非表示は、jQuery または純粋な JS で実行できます。各「モデル」ドロップダウンには、それが属する「メーカー」を識別するために使用できる一意の ID が必要です。

于 2013-04-01T18:23:21.527 に答える