0

使用 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>';
                        }
                        ?>
4

1 回答 1

1

弄清楚了。 因为该字段在管理字段中保存了正确的排序,所以我知道订单数据保存在某个地方。我在数据库中查看了帖子的条款和相关数据。订单保存在那里。我没有使用 get_the_terms 进行循环,而是使用了 get_post_meta。这给了我一个以正确顺序包含术语 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>';

                        }
                        ?>
于 2020-01-22T14:24:38.393 回答