Woocommerce属性以alpahabetic的顺序提取数据

时间:2015-05-05 11:14:54

标签: wordpress woocommerce

我的问题是尝试拉出不同产品的尺寸属性。所以,为此,我使用这个PHP代码

<?php 
        $terms = get_terms('pa_size');
        foreach ( $terms as $term ) {
        echo "<li>" .$term->name. "</li>";
         }
 ?>

显示上述代码的尺寸属性应按字母顺序排列,例如L,M,S,XS而不是XS,S,L,M,XL,XXL。帮助我摆脱这些。

2 个答案:

答案 0 :(得分:0)

使用asort()

$terms = get_terms('pa_size');
asort($terms);
foreach ( $terms as $term ) {
        echo "<li>" .$term->name. "</li>";
}

用于测试目的。

$terms = array("XS","S","L","M","XL","XXL");
echo '<pre>';print_r($terms);echo '</pre>';
asort($terms);
echo '<pre>';print_r(($terms));echo '</pre>';

Demo

排序前

数组

<pre>Array
(
    [0] => XS
    [1] => S
    [2] => L
    [3] => M
    [4] => XL
    [5] => XXL
)
</pre>
排序后

数组

<pre>Array
(
    [2] => L
    [3] => M
    [1] => S
    [4] => XL
    [0] => XS
    [5] => XXL
)
</pre>

答案 1 :(得分:0)

默认情况下,术语按字母顺序排序,但WooCommerce会应用更改排序的过滤器。

要将订单更改回字母,您需要在menu_order的参数中将get_terms()设置为false。

示例:

$terms = get_terms( 'pa_size', array(
    'menu_order' => false,
) );