在WordPress中,您可以使用WP_Query

WordPress 怎么根据角色名查询对应的文章

get_posts函数来查询特定角色的文章。以下是一个示例,演示如何按角色名查询文章:

$role_name = 'editor'; // 将 'editor' 替换为您要查询的角色名

$users_with_role = get_users(array(
    'role' => $role_name,
));

if (!empty($users_with_role)) {
    $user_ids = array();
    foreach ($users_with_role as $user) {
        $user_ids[] = $user>ID;
    }

    $args = array(
        'author__in' => $user_ids,
        'post_type' => 'post', // 替换为您要查询的文章类型
        'posts_per_page' => 1, // 1表示检索所有匹配的文章
    );

    $query = new WP_Query($args);

    if ($query>have_posts()) {
        while ($query>have_posts()) {
            $query>the_post();
            // 在这里输出文章标题、内容或其他信息
            the_title();
            the_content();
        }
    }

    wp_reset_postdata(); // 恢复原始的WordPress查询
} else {
    echo '没有找到具有该角色的用户。';
}

在上面的示例中,我们首先使用get_users函数获取具有指定角色的用户列表。然后,我们将这些用户的ID用于构建一个新的WP_Query查询,以检索他们发布的文章。

请注意,您需要将上述代码中的'editor'替换为您要查询的实际角色名,并根据需要更改文章类型和其他查询参数。