📜  获取在类别中有帖子的作者 - WordPress (1)

📅  最后修改于: 2023-12-03 15:11:51.381000             🧑  作者: Mango

获取在类别中有帖子的作者 - WordPress

WordPress是一款非常流行的开源博客程序,因其易用性和可扩展性而备受欢迎。在WordPress中,文章可以归属于不同的类别,这样有助于用户更好地管理和组织他们的文章。如果你想要找到在一个特定类别中有帖子的作者,以下是一些方法供您参考。

方法一:使用WP_Query

使用WP_Query是获取特定类别中有文章的作者的最常用方法之一。

$args = array(
    'category_name' => 'mycategory',
    'posts_per_page' => -1,
    'fields' => 'ids',
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
    $authors = array();
    while ( $query->have_posts() ) {
        $query->the_post();
        $author_ID = get_the_author_meta( 'ID' );
        if ( !in_array( $author_ID, $authors ) ) {
            $authors[] = $author_ID;
        }
    }
}
wp_reset_postdata();

上述代码通过WP_Query查询特定类别(在此示例中为“mycategory”)中的所有帖子,并返回文章的作者ID。如果你需要更多的作者信息,你可以使用get_the_author_meta()包含在循环中,以获取更多的作者信息。最后使用wp_reset_postdata()还原默认的WordPress数据以保证正常的进一步操作。

方法二:使用get_posts

另一个获取特定类别中有帖子的作者的方法是使用get_posts。

$posts = get_posts( array(
    'category_name' => 'mycategory',
    'posts_per_page' => -1,
    'fields' => 'ids',
) );

if ( $posts ) {
    $authors = array();
    foreach ( $posts as $post_id ) {
        $author_ID = get_post_field( 'post_author', $post_id );
        if ( !in_array( $author_ID, $authors ) ) {
            $authors[] = $author_ID;
        }
    }
}

上述代码通过获取特定类别中的所有帖子(在此示例中为“mycategory”)并返回每个帖子的作者ID,然后使用循环将所有不重复的作者ID存储在数组中。通过使用in_array(),只有在作者ID未被添加到数组中时才进行添加。最后将所有的作者ID保存在数组中。

总结

获取在类别中有帖子的作者并不难,WordPress为开发者和用户提供了多种选择和方法。如果您需要返回更多信息或操作,请查看WordPress官方文档或使用WP_Query和get_posts。