我使用了类似的方法,但我想存储分类法中的值,而不是我给出的名称和自定义字段值,所以我最终将其存储为object
以及创建array
很像使用函数时实际返回的内容get_terms
.
获取您的条款:
$terms = get_terms(\'your-taxonomy\');
然后创建一个新数组,按我的自定义字段值存储它们,在本例中该值恰好是数字:
$newterms = array();
foreach($terms as $term) {
$order = get_field(\'order\', $term); //THIS MY CUSTOM FIELD VALUE
$newterms[$order] = (object) array(
\'name\' => $term->name,
\'slug\' => $term->slug,
\'term_id\' => $term->term_id
);
}
按数字排序:
ksort( $newterms, SORT_NUMERIC );
然后使用
foreach
循环以获取每个对象的值:
foreach ( $newterms as $newterm ) {
echo \'<a href="#\' . $newterm->slug . \'">\' . $newterm->name . \'</a>\';
}
因此,本质上我是在重写数组以使用自定义顺序的键,但在本例中,我需要术语的slug、name和ID,因此我将其存储为对象,而不是上面的方法。
我的最终目标是Advanced Custom Field 因此,当创建一个分类术语时,用户可以给它一个数字顺序,然后我可以根据它们所需的顺序循环遍历这些术语。
希望这对别人有帮助!