Comment puis-je afficher uniquement les termes par id ou slug sur edit-tags.php (page de gestion de la taxonomie personnalisée) pour une taxonomie personnalisée?.
Je sauvegarde des métadonnées propriétaire_dernier dans une table pour chaque terme et récupère les identifiants de tous les termes pour un propriétaire_dernier spécifique. Maintenant, je veux afficher uniquement ces termes sur edit-tags.php
.
J'ai essayé le filtre list_terms_exclusions
mais il semble que les doses ne fonctionnent pas pour edit-tags.php?taxonomy={custom_taxonomy_name}
ou quelque chose me manque.
Quelqu'un peut-il m'aider avec un exemple de travail?
Merci.
Le edit-tags.php
n'écoute aucun argument sauf la variable de requête de recherche s
. Si vous voulez faire quelque chose de plus avancé, vous devrez vous connecter au filtre get_terms
.
J'ai ajouté ce code à mon thème function.php pour ma taxonomie personnalisée "série".
add_filter('edited_terms', 'mysite_edited_terms');
function mysite_edited_terms($term_id) {
if($_POST['taxonomy'] == 'series'): {
$user = wp_get_current_user();
if ($user->ID) {
$terms = get_user_meta($user->ID,'users_terms_for_series');
$terms = (empty($terms) ? $term_id : "{$terms},{$term_id}");
update_user_meta($user->ID,'users_terms_for_series',$terms);
}
}
}
add_filter('list_terms_exclusions', 'my_list_terms_exclusions', 10, 2);
function my_list_terms_exclusions( $exclusions, $args ) {
global $pagenow;
if (current_user_can('can_manage_all_terms') &&
$pagenow=='edit-tags.php?taxonomy=series') {
$terms = get_user_meta($user->ID,'users_terms_for_series');
$exclusions = " {$exclusions} AND t.ID NOT IN ({$terms})";
}
return $exclusions;
}
mais rien ne s'est passé. Ce code est basé sur @MikeSchinkel. Je pense que @Jan Fabry a raison de dire que le edit-tags.php n'écoute aucun argument. Mais je ne sais pas comment faire ça.
Toute aide est la bienvenue. Merci.