将第2和第3子类别添加到我的类别下拉列表中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将第2和第3子类别添加到我的类别下拉列表中相关的知识,希望对你有一定的参考价值。
我正在尝试在下拉列表中显示我的类别和子类别。我尝试选择车辆,客户必须首先选择他的车辆,然后是类型,然后选择发动机等。
直到主要类别成为第一个子类别,我才能做到这一点。但是,不显示第二个和第三个子类别。
我自己没有用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();
?>
答案
你有没有完成任何调试步骤?
您是否尝试过检查文档并查看子类别是否显示?
我只是做了谷歌,我相信WP将这个功能包含在一个函数中:
https://developer.wordpress.org/reference/functions/wp_list_categories/
这可能就是你想要的
这里有两个可能有用的链接
https://www.sitepoint.com/mastering-wordpress-categories-api/ https://www.youtube.com/watch?v=n1ZhJ_rIHjQ
这是一个stackoverflow问题,看起来与你问的类似
在您的具体情况下,您似乎获得了类别ID,但似乎您没有获得类别名称
taxonomy=product_cat&name=subsub_cat
我不确定这是不是你想要的。也许你想补充一下
cat_name: $("#main_cat option:selected").val()
你的帖子?
以上是关于将第2和第3子类别添加到我的类别下拉列表中的主要内容,如果未能解决你的问题,请参考以下文章