web-dev-qa-db-de.com

Wie kann ich Eltern- und Kindertaxonomien in separaten Dropdown-Listen anzeigen?

Die Anforderung ist, wo ich einen Taxonomiestaat habe, der das Elternteil ist und es hat ein Kind-Subtaxonomien, die sie die Städte sind. Muss den Staat als Dropdown-Liste anzeigen, wenn ich die bestimmte Staatssteuer auswähle, muss ich das entsprechende Kind anzeigen Städte der staatlichen Steuer in der zweiten Dropdown ..... bitte helfen Sie mir ..

Ich habe die Lösung für das obige Problem gefunden, aber es funktioniert teilweise.

Fügen Sie den folgenden Code oben auf der Vorlagenseite nach get_header () hinzu, wie Sie sehen können, dass ich in den wp_dropdown_categories einen benutzerdefinierten Taxonomiestatus hinzugefügt habe.

<?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();
?>

Füge den folgenden Code in die Datei functions.php ein ........

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.

Das ist also meine Struktur ...

State1

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

State2

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

State3

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

ich kann die übergeordneten Taxonomien anzeigen, wenn ich die übergeordnete Taxonomie auswähle. Der zweite Drop wird aktiviert, aber die untergeordneten Elemente werden nicht ausgefüllt, außer es wird die statische Ausgabe "Select" angezeigt Kann jemand dieses Problem freundlicherweise lösen

2
Solomon Henry

Hallo alle da draußen, die Schwierigkeiten haben, die Eltern- und Kindertaxonomien im Dropdown-Menü anzuzeigen, ich habe die Lösung für das oben genannte Problem gefunden ...

bearbeiten Sie den Code in der Datei functions.php.

vor dem Code war

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

bearbeiten Sie nun den Code wie folgt ...

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

und das funktioniert so wunderbar, versuch es mit Sicherheit ...... alles was ich getan habe war die Taxonomie zu verketten, das ist alles

prost alle, fröhliche Codierung ..... :)

2
Solomon Henry