在 WordPress 中,你可以通过多种方式获取指定 ID 用户发布的所有文章,下面为你详细介绍几种常见的方法。

方法一:使用 WP_Query 类


WP_Query 是 WordPress 中用于构建自定义查询的强大工具,你可以利用它来获取指定 ID 用户发布的文章。以下是示例代码,你可以将其添加到主题的模板文件(如 archive.php 或自定义页面模板)或者自定义插件中:
收起
php
<?php
// 指定用户的ID
$user_id = 2;

// 设置查询参数
$args = array(
    'author' => $user_id, // 指定文章作者的ID
    'post_type' => 'post', // 文章类型,默认为 'post'
    'posts_per_page' => -1 // 获取所有文章,若要限制数量可修改此值
);

// 创建WP_Query对象进行查询
$query = new WP_Query( $args );

// 检查是否有文章
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        // 显示文章标题,可根据需求修改为其他文章信息
        echo '<h2><a href="' . get_permalink() . '">' . get_the_title() . '</a></h2>';
    }
    // 重置文章数据,避免影响后续查询
    wp_reset_postdata();
} else {
    echo '该用户没有发布任何文章。';
}
?>

代码解释:

 
  1. 定义用户 ID$user_id 变量指定了你想要获取其文章的用户 ID。
  2. 设置查询参数$args 数组包含了查询所需的参数,其中 author 用于指定作者 ID,post_type 表示文章类型,posts_per_page 为 -1 时表示获取所有文章。
  3. 执行查询:使用 WP_Query 类根据参数进行查询。
  4. 循环显示文章:通过 have_posts() 和 the_post() 循环遍历查询结果,并显示文章标题。
  5. 重置文章数据:使用 wp_reset_postdata() 恢复全局 $post 变量到原始状态。

方法二:使用 get_posts 函数


get_posts 是一个简化的查询函数,也可以用来获取指定用户发布的文章,示例代码如下:
收起
php
<?php
// 指定用户的ID
$user_id = 2;

// 获取指定用户的文章
$posts = get_posts( array(
    'author' => $user_id,
    'post_type' => 'post',
    'posts_per_page' => -1
) );

// 检查是否有文章
if ( $posts ) {
    foreach ( $posts as $post ) {
        setup_postdata( $post );
        // 显示文章标题
        echo '<h2><a href="' . get_permalink() . '">' . get_the_title() . '</a></h2>';
    }
    // 重置文章数据
    wp_reset_postdata();
} else {
    echo '该用户没有发布任何文章。';
}
?>

代码解释:

 
  1. 定义用户 ID:同样指定了要查询的用户 ID。
  2. 调用 get_posts 函数:传入查询参数,返回符合条件的文章数组。
  3. 循环显示文章:使用 foreach 循环遍历文章数组,并通过 setup_postdata() 函数设置当前文章数据,以便使用 WordPress 的模板标签。
  4. 重置文章数据:使用 wp_reset_postdata() 恢复全局 $post 变量。

通过以上两种方法,你可以轻松地获取指定 ID 用户发布的所有文章,并根据需求进行显示。


给我推荐一些关于WordPress的实用教程
WordPress如何实现文章的分页功能?
怎样在WordPress中添加社交媒体分享按钮?