从WordPress用户获取自定义字段条目

时间:2015-09-04 09:10:31

标签: wordpress advanced-custom-fields

我有一个模板,我向用户展示:

<?php
    $values = get_field('personen_intern');
    if($values)
{
    echo '<ul>';             
    foreach($values as $value)      
    {
        echo '<li>' . $value['display_name'] . '</li>';
    }
    echo '</ul>';
} ?>

获取正常值,例如&#34;显示名称&#34;这里没有问题,但如何从用户页面获取自定义字段条目(例如&#34;电话&#34;,&#34;生日和#34;等)?我正在使用&#34;高级自定义字段&#34;插件来构建自定义字段。

我也试过这样的用户查询:

<?php
$args = array(  
'relation' => 'AND',
    array(
        'key'     => 'personen_intern',
        'value' => '"'.$user_id.'"',
        'compare' => '='
    )
);
?>

但这向我展示了所有用户。我只想查询使用user-relationship字段添加到页面的用户。

我想我必须检查我在页面上获得的用户ID是否与user_query中的用户ID相似,而不是删除那些不在的用户ID。

2 个答案:

答案 0 :(得分:0)

尝试此操作,将field_name替换为字段名称,将user_1替换为user_加上用户ID。因此,ID为23的用户将为user_23

 <?php the_field('field_name', 'user_1'); ?>

您可以在用户循环中使用它,如下所示:

$user_query = new WP_User_Query() );

    $user_array = array();

        // User Loop
        if ( ! empty( $user_query->results ) ) {
            foreach ( $user_query->results as $user ) {

                $id = $user->ID;
                $field = get_field('field_name', 'user_'.$id );

                if ( $field ) { echo '<li>' . $field . '</li>'}

            }
        }

这将查询所有用户,但仅显示设置了field_name的用户。

答案 1 :(得分:0)

知道了。

<?php
    $ids = get_field('personen_intern', false, false);

    $args = array(          
        'include' => $ids,
    );
?>

… loop content here

首先从自定义字段中获取人员的ID,然后将其包含在查询中。