WordPress ermöglicht den Benutzern, benutzerdefinierte Meta -Boxen für Beiträge, Seiten und benutzerdefinierte Beitragstypen direkt in der Administratorschnittstelle zu erstellen. WordPress -APIs bieten auch umfangreiche Anpassungsoptionen für Standard -Meta -Felder. Dieses Tutorial führt Sie durch das Erstellen, Speichern, Validieren und Abrufen benutzerdefinierter Meta -Daten sowie das Entfernen von Standard -Meta -Boxen.
Schlüsselkonzepte:
Benutzerdefinierte Meta -Boxen verstehen:
benutzerdefinierte Meta -Boxen bieten eine Möglichkeit, Felder über die Standardoptionen von WordPress hinaus hinzuzufügen. Plugins und Themen verwenden sie, um strukturierte Benutzereingaben zu sammeln. Sie können auch dem Dashboard hinzugefügt werden, um die Funktionalität von WordPress -Dashboard -Widgets (die im Wesentlichen selbst Metaboxen sind) zu spiegeln. Die Standard -Meta -Boxen enthalten den Editor, benutzerdefinierte Felder, Bild-, Kategorien- und Tags -Abschnitte.
benutzerdefinierte Meta -Boxen im Vergleich zu benutzerdefinierten Feldern:
Benutzerdefinierte Felder speichern Schlüsselwertpaare von Daten. Metaboxen bieten vielseitigere Eingangstypen, einschließlich Farbpflücker, Datei -Uploads und Dropdowns.
Meta -Daten erklärt:
Meta -Daten stellen die in benutzerdefinierten Meta -Box -Felder eingegebenen Werte dar. WordPress speichert diese Daten als Schlüsselwertpaare (Metaschlüssel und Metawert), wobei der Metaschlüssel der Feldname und der Metawert die eingegebenen Daten ist.
Erstellen eines Meta -Box:
Die Funktion registriert und zeigt benutzerdefinierte Metaboxen an. Der folgende Code fügt WordPress -Posts ein benutzerdefiniertes Meta -Feld hinzu: add_meta_box
function custom_meta_box_markup() { // Content will be added here later } function add_custom_meta_box() { add_meta_box("demo-meta-box", "Custom Meta Box", "custom_meta_box_markup", "post", "side", "high", null); } add_action("add_meta_boxes", "add_custom_meta_box");
verwendet sieben Argumente: ID (eindeutige Kennung), Titel (angezeigter Titel), Rückruf (Funktion zum Anzeigen von Inhalten), Bildschirm (Post -Typ), Kontext (Position), Priorität (Reihenfolge im Kontext) und Rückruf Argumente. add_meta_box
Felder zu einem benutzerdefinierten Meta -Box hinzufügen:
Fügen wir einen Texteingang, Dropdown und Kontrollkästchen hinzu:
function custom_meta_box_markup($object) { wp_nonce_field(basename(__FILE__), "meta-box-nonce"); ?> <div> <label for="meta-box-text">Text:</label> <input name="meta-box-text" type="text" value="<?php echo esc_attr(get_post_meta($object->ID, "meta-box-text", true)); ?>"> <br><br> <label for="meta-box-dropdown">Dropdown:</label> <select name="meta-box-dropdown"> <?php $option_values = array(1, 2, 3); foreach ($option_values as $value) { $selected = ($value == get_post_meta($object->ID, "meta-box-dropdown", true)) ? 'selected' : ''; echo "<option value=\"{$value}\" {$selected}>{$value}</option>"; } ?> </select> <br><br> <label for="meta-box-checkbox">Check Box:</label> <?php $checkbox_value = get_post_meta($object->ID, "meta-box-checkbox", true); $checked = ($checkbox_value == "true") ? 'checked' : ''; ?> <input name="meta-box-checkbox" type="checkbox" value="true" <?php echo $checked; ?>> </div> <?php }
, um vorhandene Daten abzurufen. get_post_meta
Speichern von Meta -Daten:
Der save_post
Hook spart die Daten:
function custom_meta_box_markup() { // Content will be added here later } function add_custom_meta_box() { add_meta_box("demo-meta-box", "Custom Meta Box", "custom_meta_box_markup", "post", "side", "high", null); } add_action("add_meta_boxes", "add_custom_meta_box");
Dieser Code überprüft Nonce, Benutzerberechtigungen und automatische Einsparungen. Entscheidend ist, dass es sanitize_text_field
verwendet, um Sicherheitslücken zu verhindern.
Meta -Boxen entfernen:
Die remove_meta_box
-Funktion entfernt Metaboxen. Zum Beispiel zum Entfernen der benutzerdefinierten Felder Meta -Box:
function custom_meta_box_markup($object) { wp_nonce_field(basename(__FILE__), "meta-box-nonce"); ?> <div> <label for="meta-box-text">Text:</label> <input name="meta-box-text" type="text" value="<?php echo esc_attr(get_post_meta($object->ID, "meta-box-text", true)); ?>"> <br><br> <label for="meta-box-dropdown">Dropdown:</label> <select name="meta-box-dropdown"> <?php $option_values = array(1, 2, 3); foreach ($option_values as $value) { $selected = ($value == get_post_meta($object->ID, "meta-box-dropdown", true)) ? 'selected' : ''; echo "<option value=\"{$value}\" {$selected}>{$value}</option>"; } ?> </select> <br><br> <label for="meta-box-checkbox">Check Box:</label> <?php $checkbox_value = get_post_meta($object->ID, "meta-box-checkbox", true); $checked = ($checkbox_value == "true") ? 'checked' : ''; ?> <input name="meta-box-checkbox" type="checkbox" value="true" <?php echo $checked; ?>> </div> <?php }
Denken Sie daran, dass der verwendete Haken (z. B. do_meta_boxes
oder wp_dashboard_setup
) vom Kontext abhängt.
Schlussfolgerung:
Die Meta -Box -API von WordPress ist ein leistungsstarkes Werkzeug zur Erweiterung der Funktionalität. Das Verständnis der Nuancen und der Priorisierung der Best Practices der Sicherheitsvorsorge sind der Schlüssel zu einer effektiven Implementierung. Die bereitgestellten Codebeispiele veranschaulichen die Kernprozesse, aber denken Sie daran, sie an Ihre spezifischen Anforderungen anzupassen und die Benutzereingaben immer zu minitieren.Das obige ist der detaillierte Inhalt vonHinzufügen von benutzerdefinierten Metaboxen zur WordPress -Administratorschnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!