Gibt es eine Funktion zum Abrufen und Entfernen einer Liste registrierter Meta-Boxen? Ich sehe, dass es eine Methode zum Hinzufügen und Entfernen gibt.
http://codex.wordpress.org/Function_Reference/remove_meta_box
plugin-development
metabox
Michael Ecklund
quelle
quelle
Antworten:
Nicht wirklich, aber Sie können Ihre eigenen definieren. Alle Meta-Boxen werden in der globalen Variablen gespeichert,
$wp_meta_boxes
die ein mehrdimensionales Array ist.Dieses Array zeigt alle Meta-Boxen an, die für einen bestimmten Bildschirm und einen bestimmten Kontext registriert sind. Sie können auch einen weiteren Drilldown durchführen, da dieses Array auch ein mehrdimensionales Array ist, das Meta-Boxen nach Priorität und ID trennt.
Angenommen, Sie möchten ein Array erhalten, das alle Meta-Boxen enthält, die im Admin-Dashboard "normale" Priorität haben. Sie würden Folgendes nennen:
Dies ist identisch mit dem globalen Array
$wp_meta_boxes['dashboard']['normal']
und es ist auch ein mehrdimensionales Array.Kern-Meta-Boxen entfernen
Angenommen, Sie möchten eine Reihe von Meta-Boxen entfernen. Die obige Funktion kann leicht angepasst werden, um Folgendes zu nutzen:
Wenn Sie beispielsweise das Widget für eingehende Links aus dem Dashboard entfernen möchten, rufen Sie Folgendes auf:
quelle
global
funktioniert bei mir nicht! Vielen Dank. wordpress.stackexchange.com/questions/318834/…Im WordPress-Dashboard werden Meta-Boxen angezeigt. Es gibt eine normale Spalte und eine Seitenspalte.
Ich kann eine Liste der registrierten Meta-Boxen abrufen und sie mithilfe des folgenden Codes aus dem Dashboard entfernen:
Verwenden Sie einfach
print_r($wp_meta_boxes);
, um eine Liste der registrierten Meta-Boxen anzuzeigen.quelle
print_r($wp_meta_boxes);