Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当wordpress用户被删除时,如何删除分类术语?_Wordpress - Fatal编程技术网

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

当wordpress用户被删除时,如何删除分类术语?,wordpress,Wordpress,当用户被删除时,我需要删除wp_terms->name字段 我的要求是管理员需要将帖子分配给特定的用户,也就是说管理员需要向user1添加帖子,但是user2不应该看到这一点。为此,我创建了一个自定义帖子,并为此添加了分类法。术语是用户用户名。因此,我需要在分类法中将用户的用户名列为术语。当新用户注册时,其用户名也应在wp_terms表中更新,因此我将用户名列为术语。这很好,现在我需要在删除用户时从分类法中删除这个术语 我在这里结巴了。请提出一些解决办法 我所做的是 add_action( 'd

当用户被删除时,我需要删除wp_terms->name字段

我的要求是管理员需要将帖子分配给特定的用户,也就是说管理员需要向user1添加帖子,但是user2不应该看到这一点。为此,我创建了一个自定义帖子,并为此添加了分类法。术语是用户用户名。因此,我需要在分类法中将用户的用户名列为术语。当新用户注册时,其用户名也应在wp_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;
print_r($user_info);


wp_delete_term( $user_name, 'user1', array() );

}

您的代码存在一些问题。 主要问题是
wp\u delete\u term
需要
term\u id
而不是
term\u name
。 您可以使用
wp\u get\u object\u terms
为用户获取
term\u id

我还没有测试过这段代码,但它应该为您指出正确的方向

function delete_user_terms( $user_id ) {
    $taxonomy = 'user1'; // Change this.

    $terms = wp_get_object_terms( $user_id, $taxonomy ); // Get the terms for this user.
    if ( is_wp_error( $terms ) ) {
        return; // Taxonomy does not exist.
    }

    foreach ( $terms as $term ) {
        wp_delete_term( $term->term_id, $taxonomy ); // This requires Term ID. Not term name.
    }
}
add_action( 'delete_user', 'delete_user_terms', 10, 1 );
我找到了解决办法

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() );

}

你的分类法叫什么?我的分类法名称是user1i我得到了解决方案,我在上面发布了