【问题标题】:Getting custom field entries from WordPress users从 WordPress 用户那里获取自定义字段条目
【发布时间】:2015-09-04 09:10:31
【问题描述】:

我有一个模板,我可以在其中向用户展示:

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

在这里获取诸如“显示名称”之类的正常值是没有问题的,但是如何从用户页面获取自定义字段条目(例如“电话”、“生日”等)?我正在使用“高级自定义字段”插件来构建自定义字段。

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

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

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

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

【问题讨论】:

  • 检查发布元数据并发布自定义值,看看这些值是否存储在那里。 print_r(get_post_custom()); 之类的东西会在您的页面上输出帖子自定义值,您可以看到哪些值存在,哪些不存在。
  • 这不会给我来自用户的元条目,而只是来自列出用户的页面。当我做类似“var_dump($user->telefon);”之类的事情时(“telefon”是用户自定义字段)我什么也得不到。
  • 什么是$user变量?
  • "$user" 是一个给定的 wordpress 变量,用于获取用户信息:codex.wordpress.org/Class_Reference/WP_User。我必须以某种方式连接到用户元信息,但我不知道如何。

标签: wordpress advanced-custom-fields


【解决方案1】:

试试这个,用字段名替换field_name,用user_加上用户ID替换user_1。因此,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 的用户。

【讨论】:

  • 我想用查询过滤用户。我对您的代码一无所知,但如果它可以工作,我只有一个特定的用户。但我想做的是让我添加到页面中的用户带有用户关系字段。
  • 用户没有自定义字段,用户是添加到页面的自定义字段(用户关系自定义字段),我只想显示添加到页面的那些。跨度>
【解决方案2】:

知道了。

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

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

… loop content here

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 2019-01-22
    • 2021-07-10
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    相关资源
    最近更新 更多