web-dev-qa-db-fra.com

Comment supprimer un terme de taxonomie lorsqu'un utilisateur de wordpress est supprimé?

j'ai besoin de supprimer wp_terms -> nom du champ lorsqu'un utilisateur est supprimé.

mon exigence est que l'administrateur doit attribuer des publications à des utilisateurs spécifiques, c'est-à-dire que l'administrateur doit ajouter une publication à l'utilisateur1, mais que l'utilisateur2 ne devrait pas le voir. Je dois donc lister les noms d'utilisateur des utilisateurs sous forme de termes dans taxonomy.Quand un nouvel utilisateur est enregistré, son nom d'utilisateur doit également être mis à jour dans la table wp_terms. cela fonctionne bien, maintenant je dois supprimer le terme de taxonomie lorsque l'utilisateur est supprimé.

je suis coincé ici. S'il vous plaît suggérer une solution pour cela

ce que j'ai fait est

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

}

ici 'user1' est ma taxonomie

1
Adarsh

Remplacez ceci par le vôtre:

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

}
0
Siavash1991

Si j’ai bien compris, vous avez un custom_taxonomy et les termes slug correspondent aux noms d’utilisateur..dans ce cas essayez

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');
}
1
Andrea Somovigo