实际上,在我的一个项目中也经历了同样的要求。我也搜索了许多插件,但它们没有满足要求。然后我用一些插件找到了解决方法
1.您需要安装ultimate成员插件。
2.在帖子中,你需要创建一个分类法
3.在功能中使用一组代码。php我们可以在新用户注册时添加分类术语作为用户的用户名。下面给出的代码
<?php add_action( \'user_register\', \'yg_user_registration\', 10, 1 );
function yg_user_registration( $user_id ) {
$user_info = get_userdata($user_id); $user_name = $user_info->user_login;
wp_insert_term( $user_name, \'user1\', array() );
}
add_action( \'delete_user\', \'yg_user_delete\', 10, 1 );
function yg_user_delete( $user_id ) {
$user_info = get_userdata($user_id);
$user_name = $user_info->user_login;
wp_delete_term( get_term_by(\'name\', $user_name, \'user1\')->term_id,\'user1\', array() );
}
?>
4。完成此步骤后,如果添加了新用户,您将获得用户id作为分类术语,然后您可以单独为任何用户分配帖子。如果删除了用户,分类术语也会被删除
5.现在,我们需要通过获取特定用户的id向特定用户显示帖子,请遵循以下代码。
<?php $author = get_current_user_id(); ?>
<?php $author_obj = get_user_by(\'id\',$author);
?>
<?php
$custom_args = array(\'post_type\' => \'admin-post\',
\'posts_per_page\' => \'-1\',
\'orderby\' => \'id\',
\'order\' => \'ASC\',
\'tax_query\' => array(array(
\'taxonomy\' => \'user1\',
\'field\' => \'slug\',
\'terms\' => $author_obj->user_login
))
);
$custom_query = get_posts($custom_args);
?>
<?php
foreach ($custom_query as $value) {
?>
/*your data */
<?php } ?>
通过这套代码,我们可以达到要求