Heim > CMS-Tutorial > WordDrücken Sie > Hinzufügen von benutzerdefinierten Metaboxen zur WordPress -Administratorschnittstelle

Hinzufügen von benutzerdefinierten Metaboxen zur WordPress -Administratorschnittstelle

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2025-02-18 08:26:09
Original
650 Leute haben es durchsucht

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 Metaboxen erweitern die WordPress -Funktionalität, indem zusätzliche Informationen zu Posts, Seiten und benutzerdefinierten Post -Typen hinzugefügt werden. Diese werden im WordPress -Dashboard angezeigt.
  • Während des Codierens werden Plugins wie Advanced Custom Felder, Meta -Box und CMB2 den Prozess erheblich vereinfachen. Die Änderungen der Themendatei sind erforderlich, um benutzerdefinierte Meta -Box -Daten im vorderen Ende anzuzeigen.
  • benutzerdefinierte Metaboxen sind leistungsstark, haben aber Einschränkungen. Sie können die WordPress -Administratorschnittstelle nicht ändern oder nicht unterstützte Funktionen hinzufügen. Die Datenvalidierung und -entsorgung sind für die Sicherheit von entscheidender Bedeutung.

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");
Nach dem Login kopieren
Nach dem Login kopieren

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

Adding Custom Meta Boxes to the WordPress Admin Interface

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
}
Nach dem Login kopieren
Nach dem Login kopieren
Dieser Code enthält eine Nonce -Überprüfung für die Sicherheit und verwendet

, um vorhandene Daten abzurufen. get_post_meta

Adding Custom Meta Boxes to the WordPress Admin Interface

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");
Nach dem Login kopieren
Nach dem Login kopieren

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
}
Nach dem Login kopieren
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage