Plugin Posttype Metabox Remove
-
Hallo,
ich arbeite daran, ein Plugin für WordPress zu erstellen. Dabei bin ich immer wieder auf das Problem gestoßen, dass einige meiner Post-Typen eigene Metaboxen für die Kategorisierung erhalten haben. Allerdings werden die Standard-Metaboxen weiterhin angezeigt. Nun habe ich das Problem, dass die Auswahl der Kategorie zweimal vorhanden ist, was unnötig ist.
Daher habe ich begonnen, nach einer Lösung zu suchen, um die Standard-Metabox zu entfernen, komme aber einfach nicht weiter.
public function register_taxonomy(){
$args = array(
'labels' => $this->taxLabel,
'public' => true,
'hierarchical' => true,
'show_ui' => false,
'show_in_rest' => true,
);
register_taxonomy($this->typeTax, $this->slug, $args); $location_args = array(
'labels' => $this->locationLabel,
'public' => true,
'hierarchical' => true,
'show_ui' => false,
'show_in_rest' => true,
);
register_taxonomy($this->locationTax, $this->slug, $location_args);
}
Wenn ich im Script'show_ui' => false
anwende, erreiche ich zwar mein Ziel, in der Post-Erstellung nur noch meine eigene Metabox zu haben, allerdings bin ich dann nicht mehr berechtigt, in WordPress die Kategorien zu bearbeiten.add_action('add_meta_boxes', array($this, 'remove_default_category_metabox'), 11);
public function remove_default_category_metabox(){
// Die Standard-Metabox für die Kategorie-Taxonomie entfernen
remove_meta_box('categorydiv', $this->slug, 'side'); // Für Standard-Kategorien
remove_meta_box('tagsdiv-news_category', $this->slug, 'side'); // Für nicht-hierarchische benutzerdefinierte Taxonomien
remove_meta_box('news_categorydiv', $this->slug, 'side'); // Für hierarchische benutzerdefinierte Taxonomien
}Das
add_action
habe ich aufgerufen, nachdem meine Taxonomie registriert wurde. Dasremove_default_category_metabox
habe ich schon ein paar Mal im Netz gefunden, macht aber einfach gar nichts.Vielleicht kann mir jemand von euch helfen. Ich hoffe, ihr versteht mein Problem und was ich erreichen möchte.
Ich bedanke mich im Voraus.
- Du musst angemeldet sein, um auf dieses Thema zu antworten.