当WordPress用户被删除时,如何删除分类术语?

时间:2018-08-01 作者:Adarsh

当用户被删除时,我需要删除wp\\u terms->name字段。

我的要求是管理员需要将帖子分配给特定用户,也就是说管理员需要向user1添加帖子,但user2不应该看到这一点。为此,我创建了一个自定义帖子,并为此添加了分类法。术语是用户用户名。因此,我需要在分类法中将用户的用户名作为术语列出。当一个新用户注册时,他的用户名也应该在wp\\u terms表中更新,所以我将用户名作为terms。这很好,现在我需要在删除用户时从分类法中删除该术语。

我在这里绊倒了。请对此提出一些解决方案

我所做的是

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( $user_name, \'user1\', array() );

}
这里的“user1”是我的分类法

2 个回复
最合适的回答,由SO网友:Siavash1991 整理而成

将此替换为您的:

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;

    print_r($user_info);

    wp_delete_term( get_term_by(\'name\', $user_name, \'user1\')->term_id, \'user1\', array() );

}

SO网友:Andrea Somovigo

如果我明白你有custom_taxonomy 它的slug对应于用户名。。在这种情况下,请尝试

function yg_user_delete( $user_id ) {
  $user_info = get_userdata($user_id); 
  $user_name = $user_info->user_login;

  wp_delete_term(get_term_by(\'slug\', $user_name)->term_id,\'custom_taxonomy\');
}

结束

相关推荐

WPDB准备类似%-占位符?

这些是{xxx...} 的占位符% 在一个类似的声明中正常吗?如果是这样的话,他们什么时候会转换回%\'sSHELL wp> global $wpdb; wp> $q = \"%s\"; => string(2) \"%s\" wp> $pq = $wpdb->prepare($q, \'%hi%\'); => string(136) \"\'{6e039dc0b074a5ff6828a070d0c24708d132341f32d