ajax - 具有两种分类法的自定义帖子类型的 Wordpress 多 ajax 过滤
问题描述
我需要有关自定义帖子类型存档页面的帮助。
我想为注册了两个分类法的自定义帖子类型构建三个过滤器。第一个分类是分层的类别,第二个不是分层的标签。
第一个过滤器用于分层分类父元素。非分层分类法的第二个过滤器。第三个是分层分类子元素。
我想让第一个过滤器(分层分类父元素)提供第二个(非分层分类元素)和第三个(分层分类子元素),然后显示结果。有任何想法吗?
解决方案
首先,我有一个 ul 列表,其中包含第一个分类的所有父元素。通过单击特定的 li 元素,我调用了一个 ajax 函数,该函数更改了包含父分类的所有子元素的第二个过滤器。
我试图找到一种方法让 get_terms() 在 functions.php 中工作,以便在 ajax 函数中使用它。我通过 ajax javascript 获得变量 $product_type_id 。它是一个变量,用于存储父分类term_id,并希望使用它来获取特定产品类型的子代。
function getCurrentTerm($product_type_id){
global $product_type_id;
$my_products = get_terms([
'taxonomy' => ['awarded_product'],
'hide_empty' => false,
'parent' => $product_type_id ,
'order' => 'DESC'
]);
return $my_products;
}
function set_product_type_filter(){
$product_type_id = $_POST['product_type_id'];
if( $_POST['product_type_id']!=''){
$my_product = getCurrentTerm($product_type_id);
$response['product_type_id'] = $_POST['product_type_id'];
$response['product']=$my_product;
echo json_encode($response);
wp_reset_postdata();
wp_die();
}
}
add_action('wp_ajax_set_product_type_filter', 'set_product_type_filter');
add_action('wp_ajax_nopriv_set_product_type_filter', 'set_product_type_filter');
推荐阅读
- xslt - 有没有办法制作整页表?
- vue.js - 添加拖放到 vuetify 的选择
- linux - Oracle Developer Studio 12.6 Fortran 编译器:ieee_arithmetic_semantics:断言“0”失败
- css - 框框内的标题 - CSS,前端开发 - UX
- rabbitmq - RabbitMQ -- Unable to Execute Commands due to "libtinfo.so.6" error
- reactjs - Reactjs(Typescript) - 在 Select 字段中连接数组
- scheduled-tasks - 这个调度器表达式 -> *~*~*~*~*/6~0~0 是什么意思?
- python-3.x - 将包含关键字的行附加到上一行
- java - 我需要获取一个 CSV 文件并根据列标题 [JAVA] 将其拆分为单独的文件
- reactjs - 组件挂载时 useEffect 中的调度操作