Ist es möglich, eine exklusive benutzerdefinierte Taxonomie zu erstellen?

Ist es möglich, eine benutzerdefinierte Taxonomie zu erstellen, sodass nur ein einzelner Begriff für einen bestimmten Beitrag ausgewählt werden kann? Das bedeutet, dass in der Post-Editing-Admin-Seite Radioknöpfe oder ein Dropdown-Menü (oder was auch immer für die Auswahl eines einzelnen Elements) sein sollte, um einen Taxonomie-Begriff auszuwählen

Es gibt diese Diskussion: https://core.trac.wordpress.org/ticket/14877 , scheint aber noch nicht getriggers zu sein

Solutions Collecting From Web of "Ist es möglich, eine exklusive benutzerdefinierte Taxonomie zu erstellen?"

Das Standardverhalten von WordPress lässt dies nicht zu.

Um dies zu tun, würde ich folgende Methode vorschlagen:

  1. Registrieren Sie die Taxonomie wie gewohnt
  2. Entfernen Sie das Taxonomie-Metabox, damit Benutzer den Taxonomiebegriff nicht auf die alte Weise auswählen
  3. Erstellen Sie Ihre eigene Metabox mit Ihrer eigenen Benutzeroberfläche, um die Meta-Box Taxonomie zu ersetzen. So können Benutzer nur einen Begriff aus Ihrer Radio-Liste auswählen oder Dropdown wählen.

Der zweite Schritt kann mit diesem Code gemacht werden:

add_action( 'add_meta_boxes', function() { remove_meta_box( $id, $post_type, $contex'side' ); } ); 

$id ist die ID der Meta-Box Taxonomie, die entweder 'tagsdiv-{$tax-name}' wenn die Taxonomie nicht hierarchisch ist (wie Tags), oder '{$tax-name}div' wenn die Taxonomie ist hierarchisch (wie Kategorie).

Der dritte Schritt kann manuell durchgeführt werden , aber da Felder ausgegeben, Desinfektionen behandelt und Daten gespeichert werden müssen, würde ich vorschlagen, hierfür eine Bibliothek wie das Meta Box- Plugin zu verwenden. (Disclaimer: Ich bin der Autor des Plugins).

Der Code für die Meta-Box sieht folgendermaßen aus:

 add_filter( 'rwmb_meta_boxes', function( $meta_boxes ) { $meta_boxes[] = array( 'id' => 'custom-meta-box', 'name' => 'Taxonomy Name', 'context' => 'side', 'fields' => array( array( 'id' => 'custom_taxonomy', 'name' => 'Taxonomy Name', 'taxonomy' => $taxonomy_slug, 'type' => 'taxonomy', ), ), ); return $meta_boxes; } ); 

Weitere Dokumente finden Sie hier .