wordpress作者页面上的自定义查询

时间:2014-07-20 14:38:35

标签: php wordpress

我不是php的专家,在wordpress作者页面上需要一些关于自定义查询的帮助。

使用 WP_User_Query 时没问题,问题是我需要将它与 $ curauth

结合使用

我需要做的是使用 WP_User_Query 获取作者列表,并使用当前作者页面作为自定义字段值进行过滤。

这里是错误的代码:

// WP_User_Query arguments
$curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author));
$label = echo $curauth->user_login;
$args = array (
'role'           => 'contibutor',
'number'         => '10',
'order'          => 'ASC',
'orderby'        => 'display_name',
'meta_query'     => array(
    array(
        'key'       => 'user_label',
        'value'     => $label,
    ),
),
);

// The User Query
$user_query = new WP_User_Query( $args );

// The User Loop
if ( ! empty( $user_query->results ) ) {
foreach ( $user_query->results as $user ) {
    // do something
}
} else {
// no users found
}

我希望这里有人可以帮助解决我的问题。谢谢

1 个答案:

答案 0 :(得分:0)

试试这个

$curauth = ( isset( $_GET['author_name'] ) ) ? get_user_by( 'slug', $author_name ) : get_userdata( intval( $author ) );

$args = array (
    'role' => 'contibutor',
    'number' => '10',
    'order' => 'ASC',
    'orderby' => 'display_name',
    'meta_query' => array(
        array(
            'key' => 'user_label',
            'value' => $curauth->user_login,
        ),
    ),
);

// The User Query
$user_query = new WP_User_Query( $args );

// The User Loop
if ( ! empty( $user_query->results ) ) {
    foreach ( $user_query->results as $user ) {
        // do something
    }
} else {
    // no users found
}

正如pieter-goosen在评论中指出的那样,行$label = echo $curauth->user_login;导致了错误消息。