首页 > 解决方案 > 只想显示分配的 wordpress 类别

问题描述

我正在 wordpress 中构建一个教育平台,但我很难获得类别,仅在过滤器中显示用户分配的类别。

我正在使用 ACF Pro 将我的自定义类别分配给用户。

在这里,我得到了分配给用户的条款。

$uid = get_current_user_id();
$departments = get_terms( array('departments'), 'user_'.$uid );

在这一行中,我循环分类:

foreach ($departments as $value) {
                if(!in_array($value->term_id, $departments)){

          echo '<input id="switch-demo'. $value->term_id .'" type="checkbox" data-filter="'. $value->term_id .'" class="filter-check '. $value->term_id .'" value="'. $value->term_id .'" name="departments[]" >';
                echo '<label for="switch-demo'. $value->term_id .'" class="filter '.$value->slug.'">'. $value->name .'</label>';

                // echo $value->name;
            }
        }

出于某种原因,它显示了当前在我的帖子类型“课程”中的所有类别。

但我想确保 y 类别字段仅显示分配给用户的类别。

请帮忙。

标签: arrayswordpressadvanced-custom-fieldscategoriescustom-taxonomy

解决方案


get_terms不带任何user_.$uid参数。唯一应该传递给的get_terms应该是参数数组。

对于 ACF,要获取字段值,您需要使用the_fieldget_field函数。

$uid = get_current_user_id();
$departments = get_field( 'departments', 'user_'.$uid );

有关如何使用 ACF 从用户获取值的更多详细信息


推荐阅读