Я пытаюсь отобразить свои категории и подкатегории в раскрывающихся списках.Я пытаюсь сделать выбор транспортного средства, где клиент должен сначала выбрать свое транспортное средство, затем тип, затем двигатель и т. Д.
Пока основная категория не была первой подкатегорией, я мог это сделать.Однако вторая и третья подкатегории не отображаются.
Я сам не писал эту часть с помощью Javascript, потому что, к сожалению, я все еще новичок в Javascript.
Может кто-нибудь помочь мне и сказать, что я делаю не так?
Вот мой код:
<?php
if ( ! class_exists( 'frontendAjaxDropdown' ) ):
class frontendAjaxDropdown
{
function __construct()
{
add_shortcode( 'car_conf', array($this, 'init_shortocde') );
add_action( 'wp_ajax_get_subcat', array($this, 'getSubCat') );
add_action( 'wp_ajax_get_subsubcat', array($this, 'getSubSubCat') );
add_action('wp_ajax_nopriv_get_subcat', array($this, 'getSubCat') );
add_action('wp_ajax_nopriv_get_subsubcat', array($this, 'getSubSubCat') );
}
function init_shortocde()
{
wp_dropdown_categories(
'taxonomy=product_cat&name=main_cat&selected=-1&hierarchical=1&depth=1&hide_empty=0&show_option_none=All Categories'
);
?>
<script type="text/javascript">
(function($){
$("#main_cat").change(function(){
$("#sub_cat").empty();
$.ajax({
type: "post",
url: "<?php echo admin_url( 'admin-ajax.php' ); ?>",
data: { action: 'get_subcat', cat_id: $("#main_cat option:selected").val() },
success: function(data) {
$("#sub_cat").append(data);
}
});
});
})(jQuery);
(function($){
$("#sub_cat").change(function(){
$("#subsub_cat").empty();
$.ajax({
type: "post",
url: "<?php echo admin_url( 'admin-ajax.php' ); ?>",
data: { action: 'get_subsubcat', cat_id: $("#sub_cat option:selected").val() },
success: function(data) {
$("#subsub_cat").append(data);
}
});
});
})(jQuery);
</script>
<div id="sub_cat"></div>
<div id="subsub_cat"></div>
<?php
}
function getSubCat()
{
wp_dropdown_categories(
"taxonomy=product_cat&name=sub_cat&selected=-1&hierarchical=1&depth=1&hide_empty=0&child_of={$_POST['cat_id']}"
);
die();
}
function getSubSubCat()
{
wp_dropdown_categories(
"taxonomy=product_cat&name=subsub_cat&selected=-1&hierarchical=1&depth=1&hide_empty=0&child_of={$_POST['cat_id']}"
);
die();
}
}
endif;
new frontendAjaxDropdown();
?>