如果用户在某个角色中,则将术语添加到用户的帖子中
Posted
技术标签:
【中文标题】如果用户在某个角色中,则将术语添加到用户的帖子中【英文标题】:add term to a post of a user if he is in a role 【发布时间】:2021-12-16 02:00:09 【问题描述】:在网站上,用户可以选择通过网站获得促销。 我希望用户付费 -> 获取角色并添加他唯一的帖子(这就是他所能做的)一个分类中的术语。
我编写了这段代码,但虽然我得到了用户 ID 和帖子,但它并没有将术语添加到帖子中。
function add_term_to_user_post_one()
$user_id = get_current_user_id();
$user = wp_get_current_user();
$args = array(
'post_type' => array ('businesses','professionals'),
'author' => $user_id,
'post_status' => 'publish',
'posts_per_page' => -1
);
$the_post_id = get_the_ID($args);
if ((in_array('pms_subscription_plan_9053' , $user->roles)))
wp_set_object_terms($the_post_id, 780, 'business_categories', true);
else
wp_remove_object_terms($the_post_id, 780, 'business_categories', true);
return;
add_taxonomy_to_user_post_one();
add_action( 'init', 'add_term_to_user_post_one', 20 );
感谢您的帮助,谢谢。
【问题讨论】:
【参考方案1】:已解决。
function add_term_to_user_post_one()
$user_id = get_current_user_id();
$user = wp_get_current_user();
$site_url = get_site_url();
$args = array(
'post_type' => array ('businesses','professionals'),
'author' => $user_id,
'post_status' => 'publish',
'posts_per_page' => -1
);
$query = new WP_Query($args);
while ( $query->have_posts() ) : $query->the_post();
$the_post_id = get_the_ID($query);
$the_terms = wp_set_object_terms($the_post_id, 780, 'businesses_categories', true);
if ((in_array('pms_subscription_plan_9053' , $user->roles)))
$the_terms;
else
wp_remove_object_terms($the_post_id, 780, 'businesses_categories', true);
endwhile;
wp_reset_query();
return;
add_taxonomy_to_user_post_one();
add_action( 'init', 'add_term_to_user_post_one', 20 );
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于如果用户在某个角色中,则将术语添加到用户的帖子中的主要内容,如果未能解决你的问题,请参考以下文章