首页 问答 正文

WordPress如何为某个用户显示不同的文章?

注册会员 / 悠然自学 / 2023-06-12/ 浏览 132 次

在WordPress中,可以使用条件语句和用户角色来为某个特定用户显示不同的文章。

首先,你需要获取当前登录用户的角色,可以使用wp_get_current_user()函数来获取当前用户的信息。然后,可以使用条件语句如ifswitch来检查用户角色,并根据角色来显示相应的文章。

下面是一个示例代码,假设我们要为具有"author"角色的用户显示不同的文章:

<?php
$user = wp_get_current_user();

// 检查用户角色
if (in_array('author', $user->roles)) {
    // 显示特定的文章内容
    // 示例代码,你可以根据需要进行调整
    $args = array(
        'post_type' => 'post',
        'posts_per_page' => 5,
        // 根据需要添加其他查询参数
    );

    $query = new WP_Query($args);

    if ($query->have_posts()) {
        while ($query->have_posts()) {
            $query->the_post();
            // 在这里显示文章内容
            the_title();
            the_content();
        }

        // 恢复原始查询
        wp_reset_postdata();
    } else {
        // 如果没有文章则显示提示信息
        echo '没有可显示的文章';
    }
}
?> 

上述代码使用了WP_Query类来获取具有特定查询参数的文章,并依次显示出来。你可以根据自己的需求修改查询参数,例如设置特定的分类、标签、时间范围等等。

请注意,在WordPress的主题文件中插入PHP代码时,需要确保代码所在的文件是正确的,并且在正确的地方插入代码,例如可以在主题的single.phparchive.php等文件中插入上述代码片段。

这样,当具有"author"角色的用户访问文章页或文章存档页时,只有当他们满足条件时才会看到被限制的文章内容。

大家谈论
    我的见解