web-dev-qa-db-ja.com

親と子の分類を別のドロップダウンに表示する方法を教えてください。

要件は、私が親である分類法の州があり、それが子であるサブ分類法がある都市であり、特定の州の税を選択するときに州をドロップダウンとして表示する必要がある場合2番目のドロップダウンの州税の都市.....親切に私を助けて..

私は上記の問題の解決策を見つけたが、それは部分的に動作します........解決策を持っている人は誰でも親切に助けてくれます....

あなたが私がwp_dropdown_categoriesにカスタム分類法 'state'を追加したのを見ることができるように、get_header()の後のテンプレートページの一番上に以下のコードを加えてください....

<?php get_header(); ?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script>
<script type="text/javascript">
$(function()
{
$('#main_cat').change(function()
{
    var $mainCat=$('#main_cat').val();

    // call ajax
    $("#sub_cat").empty();
    $.ajax
    (
        {
            url:"<?php bloginfo('wpurl'); ?>/wp-admin/admin-ajax.php",     
            type:'POST',
            data:'action=my_special_ajax_call&main_catid=' + $mainCat,

            success:function(results)
            {
                //  alert(results);
                $("#sub_cat").removeAttr("disabled");       
                $("#sub_cat").append(results);  
            }
        }
    );                                    
});
});               
<style type="text/css">
#content{width:auto; height:400px; margin:50px;}
</style>
<div id="content">
<?php 
 wp_dropdown_categories('show_count=0&selected=-1&hierarchical=1&depth=1&hide_empty=0&exclude=1&show_option_none=Main Categories&name=main_cat&taxonomy=state');
?>
<select name="sub_cat" id="sub_cat" disabled="disabled"></select>
</div>
<?php
get_footer();
?>

Functions.phpファイルに以下のコードを追加してください........

function implement_ajax() {
if(isset($_POST['main_catid']))
    {
    $categories=  get_categories('child_of='.$_POST['main_catid'].'hide_empty=0'); 
      foreach ($categories as $cat) {
        $option .= '<option value="'.$cat->term_id.'">';
        $option .= $cat->cat_name;
        $option .= ' ('.$cat->category_count.')';
        $option .= '</option>';
      }
      echo '<option value="-1" selected="selected">Sub Categories</option>'.$option;
    die();
    } // end if
}
add_action('wp_ajax_my_special_ajax_call', 'implement_ajax');
add_action('wp_ajax_nopriv_my_special_ajax_call', 'implement_ajax');//for users that are not logged in.

だから今、これは私の構造です....

州1

  • CT1-1
  • CT2-1
  • CT3-1

州2

  • CT1-2
  • CT2-2
  • CT3-2

州3

  • CT1-3
  • CT2-3
  • CT3-3

私は親の分類法を選択したときに親の分類法を表示することができない2番目のドロップがアクティブになりますが、それは静的出力 "選択"を示す以外の子項目を移入していません.....私、誰もがこの問題を親切に解決できますか

2
Solomon Henry

こんにちはみんな、ドロップダウンで親子分類を表示するのが困難に直面している、私は上記の問題の解決策を見つけました......

functions.phpファイルのコードを編集します。

コードが登場する前

$categories=  get_categories('child_of='.$_POST['main_catid'].'hide_empty=0');

今、このようにコードを編集します...

$categories=  get_categories('child_of='.$_POST['main_catid'].'&hide_empty=0'.'&taxonomy=state');

そしてこれはとても美しく動作します、確かにそれを試してみてください......私がしたのは私が分類法を連結したことだけでした

みんなを元気づけ、幸せなコーディング..... :)

2
Solomon Henry