Php 按多选顺序显示ACF分类法

Php 按多选顺序显示ACF分类法,php,arrays,wordpress,advanced-custom-fields,acfpro,Php,Arrays,Wordpress,Advanced Custom Fields,Acfpro,使用ACF,我有一个分类字段,具有多选择和样式化的UI 我通常会选择2或3个税项 我可以使用拖放来排列它们。太棒了 在前端,数组不反映我设置的税单/排序。 非常简单的代码。我做错了什么 <?php $values = get_the_terms( $post->ID, 'languages' ); if ( $values ) {

使用ACF,我有一个分类字段,具有多选择和样式化的UI

我通常会选择2或3个税项

我可以使用拖放来排列它们。太棒了

在前端,数组不反映我设置的税单/排序。

非常简单的代码。我做错了什么

                        <?php

                        $values = get_the_terms( $post->ID, 'languages' );

                        if ( $values ) {
                            echo '<tr class="item"><td>';

                                        foreach ( $values as $value ) {
                                            echo $value->name . '<br/>';
                                        }

                            echo '</td></tr>';
                        }
                        ?>

找到了答案。 因为该字段在admin字段中保存了正确的排序,所以我知道订单数据保存在某个地方。我在数据库中查阅了《华盛顿邮报》的术语和相关数据。订单保存在那里。我使用get\U post\U meta,而不是使用get\U循环术语。这给了我一个按正确顺序排列ID的数组。然后我在foreach循环中使用该ID获得术语名称。这按照样式化多选择字段的顺序为我提供了分类名称

                        <?php

                        $values = get_the_terms( $post->ID, 'languages' );
                        if ( $values ) {
                            echo '<tr class="item"><td>';

                            $values = get_post_meta( $post->ID, 'languages' );

                            foreach ( $values as $value ) {
                                foreach ( $value as $item ) {
                                    $term = get_term( $item )->name; 
                                    echo $term .'<br/>';    
                                }
                            }

                            echo '</td></tr>';

                        }
                        ?>


看起来您只获取了术语,而没有查询排序顺序。我无法根据您发布的内容准确地判断排序顺序存储在哪里。如果在ACF中,您可能需要查询ACF字段,否则请尝试添加orderby和order参数。谢谢您的建议!我将在周一返回并以不同的方式查询ACF字段。谢谢