Wordpress 按用户定义的订单显示woo商务类别列表

Wordpress 按用户定义的订单显示woo商务类别列表,wordpress,woocommerce,Wordpress,Woocommerce,我想按用户定义的顺序显示所有woo commerce类别。举个例子。我尝试了以下代码: $args = array( 'number' => $product_number, 'order' => 'asc', ); $product_categories = get_terms('product_cat', $args); 此代码工作正常,并

我想按用户定义的顺序显示所有woo commerce类别。举个例子。我尝试了以下代码:

            $args = array(
                'number' => $product_number,
                'order' => 'asc',

            );

            $product_categories = get_terms('product_cat', $args);

此代码工作正常,并按升序返回数组或所有类别名称。我现在想要的是允许用户传递类别id数组,并按照提供的id顺序显示类别列表。可能吗?做了一些研究,但没有找到任何接近的解决方案

您可以使用php循环来完成。它采用默认的有序术语数组,并在其上构建新的自定义有序数组

$user_arg = array(1,2,4,5);
$product_categories = get_terms('product_cat', $args);
$temporary_array=array();
foreach ($product_categorie as $pcat) {
$temporary_array[$pcat->term_id]=$pcat;
}
$final_array=array();
foreach($user_arg as $ua){
$final_array[$ua]=$temporary_array[$ua];
}
现在,$final_数组包含与$product_类别相同的数据,但以基于$user_arg的自定义顺序

$product_number = 10; // Any number you have defined
$catsArray = array(1,2,3,4,5,8,10,20); // User provided array of terms ids
$product_categories= get_terms( array(
          'number'  => $product_number,
          'taxonomy' => 'product_cat',
          'include' => $catsArray,
          'hide_empty'  => false, 
          'orderby'  => 'include', 
          'order'    =>'ASC'
        ) );

现在您可以在

中获取类别“按提供的id顺序显示类别列表”是什么意思?你能给出一个带有before->after命令的数组的小例子吗?就像用户将数组中的类别ID传递给类似$arg的数组(1,2,4,5)一样。根据数组,类别将显示在订单上。如1表示类别1,2表示类别2等。名称的顺序与数组()的顺序相同。谢谢。是否可以将其余类别附加到最终的_数组?所以数组的顺序是先来的,然后剩下的会被返回。像一个符咒一样工作!谢谢