it-swarm.com.de

So zeigen Sie nur Begriffe nach ID oder Slug in edit-tags.php (Seite zum Verwalten benutzerdefinierter Taxonomien) für eine benutzerdefinierte Taxonomie an

Wie kann ich für eine benutzerdefinierte Taxonomie nur Begriffe nach ID oder Slug in der Datei edit-tags.php (Seite zum Verwalten benutzerdefinierter Taxonomien) anzeigen?.

Ich speichere term_owner-Metadaten für jeden Begriff in einer Tabelle und erhalte alle Term-IDs für einen bestimmten term_owner. Jetzt möchte ich nur diese Begriffe auf edit-tags.php anzeigen.

Ich habe versucht, list_terms_exclusions zu filtern, aber es scheint, dass die Dosierungen für edit-tags.php?taxonomy={custom_taxonomy_name} nicht funktionieren, oder ich vermisse etwas.

Kann mir jemand mit einem funktionierenden Beispiel helfen?

Danke.

1
mha

Der edit-tags.php hört keine Argumente außer der Suchabfragevariablen s ab. Wenn Sie etwas fortgeschritteneres tun möchten, müssen Sie sich in den get_terms-Filter einbinden.

2
Jan Fabry

Ich habe diesen Code zu meiner theme function.php für meine benutzerdefinierte Taxonomie "series" hinzugefügt.


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;
}

aber nichts ist passiert. Dieser Code basiert auf @MikeSchinkel. Ich denke @Jan Fabry hat recht, dass die edit-tags.php keine Argumente hört. Aber ich weiß nicht, wie ich das machen soll.

Jede Hilfe wird sehr geschätzt. Vielen Dank.

0
mha