Ich habe zwei hierarchische benutzerdefinierte Taxonomien, die sich jeweils auf einen entsprechenden benutzerdefinierten Beitragstyp beziehen. Ich möchte die Metabox für jeden Beitragstyp auf dem Bearbeitungsbildschirm des Beitragstyps entfernen.
Ich habe Benutzerdefinierte Taxonomie-Metabox aus benutzerdefiniertem Beitragstyp entfernen gelesen und Wie entferne ich eine (hierarchische) Taxonomie-Metabox im Kategoriestil? aber ich stecke immer noch fest.
Die Funktion, die ich benutze, ist:
function remove_taxonomies_metaboxes() {
remove_meta_box( 'partner_typediv', 'partners', 'normal' );
remove_meta_box( 'person_typediv', 'people', 'normal' );
}
add_action( 'admin_menu' , 'remove_taxonomies_metaboxes' );
Ich habe die post_types und custom_taxonomies nicht korrigiert, aber das war's. Ich habe versucht , die Verwendung von admin_menu
Haken und die add_meta_boxes
vom Codex empfohlen Haken. Ich habe beide normal
und side
für den dritten Parameter versucht .
Die obige Funktion befindet sich in einer mu-plugins
Datei unterhalb der Funktion, die die Beitragstypen und Taxonomien registriert.
EDIT: Es war ein Tippfehler in der Funktion register_taxonomy. Ich bin eine schreckliche Person. Danke an alle für die Hilfe. Ich habe noch ein paar Sachen gelernt!
'show_ui' => false
?Antworten:
Wenn Sie Ihre benutzerdefinierte Taxonomie manuell über register_taxonomy registrieren , können Sie Argumente übergeben, um zu steuern, wo die Metabox angezeigt wird.
In dem folgenden Beispiel würde die Einstellung
show_ui
zumfalse
vollständigen Entfernen der Metabox aus dem Bearbeitungsbildschirm, dem Schnellbearbeitungsbildschirm und dem Admin-Menü entfernt. Wenn Sie dies jedoch festlegenshow_ui
, könnentrue
Sie eine differenziertere Steuerung erzielen, indem Sie die Argumenteshow_in_quick_edit
und verwendenmeta_box_cb
( wenn Sie später false festlegen, wird die Metabox wie gewünscht auf dem CPT-Bearbeitungsbildschirm ausgeblendet).quelle
Sie möchten die Kästchen aus dem
post
Bearbeitungsbildschirm entfernen , nicht aus dem Bildschirm " Beitragstyp", und davon ausgehen, dass Sie Ihre Taxonomie nur für die Beitragstypen registrieren können, auf die sie angewendet werden soll, und dies insgesamt vermeiden. Das Beispiel im Codex registriert die Beispieltaxonomie nur für denbook
Beitragstyp wie:Ich denke, das ist, was Sie tun müssen, aber Sie haben keinen Registrierungscode für die Beitragstypen oder Taxonomien veröffentlicht.
Wenn Sie die Meta-Boxen selbst erstellt haben - das heißt, diese Boxen sind nicht die Standard-Boxen -, können Sie dieses Problem vermeiden, indem Sie die Meta-Boxen in den posttypspezifischen Hooks registrieren :
Oder folgen Sie dem obigen Beispiel:
Einer dieser Ansätze sollte dies für Sie lösen. Ich denke nicht, dass Sie überhaupt verwenden müssen
remove_meta_box
.Wenn Sie versuchen, die Meta-Boxen aus dem Beitragstyp zu entfernen, für den sie registriert sind, funktioniert dies (ebenfalls gemäß dem Beispiel im Codex):
Ich bin mir ziemlich sicher, dass
admin_menu
das zu früh ist, habe das aber nicht verifiziert.add_metaboxes
funktioniert auch bei mir Ich weiß nicht, warum es bei dir nicht funktioniert.quelle
Bei Verwendung von ACF für die Verwaltung benutzerdefinierter Taxonomien sind die Standardmetaboxen nicht erforderlich. Ich habe diesen Code erfolgreich ausprobiert:
Die niedrigere Priorität (100) lässt diesen Code auch dann funktionieren, wenn die Taxonomien von einem Plugin wie CPT-UI erstellt werden.
quelle
remove_meta_box( 'tagsdiv-'.$taxonomy, $post_type, 'side' );