Maison >Tutoriel CMS >WordPresse >Ajout de méta-boîtes personnalisées à l'interface d'administration WordPress

Ajout de méta-boîtes personnalisées à l'interface d'administration WordPress

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌original
2025-02-18 08:26:09660parcourir

WordPress permet aux utilisateurs de créer des méta-boîtes personnalisées pour les publications, les pages et les types de publication personnalisés directement dans l'interface d'administration. Les API WordPress proposent également des options de personnalisation approfondies pour les méta-boîtes par défaut. Ce didacticiel vous guide à travers la création, l'enregistrement, la validation et la récupération des méta-données personnalisées, ainsi que la suppression des méta-boîtes par défaut.

Concepts clés:

  • Les méta-boîtes personnalisées étendent les fonctionnalités WordPress en permettant à l'ajout d'informations supplémentaires aux publications, pages et types de publication personnalisés. Ceux-ci sont affichés dans le tableau de bord WordPress.
  • Bien que le codage soit impliqué, des plugins tels que les champs personnalisés avancés, la méta-boîte et le CMB2 simplifient considérablement le processus. Des modifications de fichiers de thème sont nécessaires pour afficher les données de méta-boîte personnalisées à l'avant.
  • Les méta-boîtes personnalisées sont puissantes mais ont des limites. Ils ne peuvent pas modifier l'interface d'administration WordPress ou ajouter des fonctionnalités non soutenues. La validation des données et la désinfection sont cruciales pour la sécurité.

Comprendre les méta-boîtes personnalisées:

Les méta-boîtes personnalisées fournissent un moyen d'ajouter des champs au-delà des options par défaut de WordPress. Les plugins et les thèmes les utilisent pour collecter une entrée utilisateur structurée. Ils peuvent également être ajoutés au tableau de bord, reflétant les fonctionnalités des widgets de tableau de bord WordPress (qui sont essentiellement des méta-boîtes elles-mêmes). Les méta-boîtes standard incluent l'éditeur, les champs personnalisés, l'image en vedette, les catégories et les sections de balises.

Meta-boîtes personnalisées par rapport aux champs personnalisés:

Les champs personnalisés stockent des paires de données de valeur clé. Les méta-boîtes offrent des types d'entrée plus polyvalents, y compris les sélecteurs de couleurs, les téléchargements de fichiers et les listes déroulantes.

Meta Data expliquée:

Meta Data représente les valeurs entrées dans les champs Meta Box personnalisés. WordPress stocke ces données sous forme de paires de valeurs de clé (clé de méta et valeur méta-valeur), où la clé Meta est le nom du champ et la valeur méta est les données entrées.

Création d'une méta-boîte:

La fonction add_meta_box enregistre et affiche des méta-boîtes personnalisées. Le code suivant ajoute une méta-boîte personnalisée aux messages WordPress:

<code class="language-php">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");</code>

add_meta_box utilise sept arguments: ID (identifiant unique), titre (titre affiché), rappel (fonction pour afficher le contenu), écran (type de message), contexte (position), priorité (commande dans le contexte) et rappel arguments.

Adding Custom Meta Boxes to the WordPress Admin Interface

Ajout de champs à une méta-boîte personnalisée:

Ajoutons une entrée de texte, une liste déroulante et une case:

<code class="language-php">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}\"'>{$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" echo>>
    </div>
    <?php
}</code>

Ce code comprend la vérification non -ce pour la sécurité et les utilisations get_post_meta pour récupérer les données existantes.

Adding Custom Meta Boxes to the WordPress Admin Interface

Enregistrer les méta-données:

le save_post Hook enregistre les données:

<code class="language-php">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");</code>

Ce code vérifie les nonce, les autorisations utilisateur et les économies automatique. Surtout, il utilise sanitize_text_field pour éviter les vulnérabilités de sécurité.

Suppression des méta-boîtes:

La fonction remove_meta_box supprime les méta-boîtes. Par exemple, pour supprimer les champs personnalisés Meta Box:

<code class="language-php">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}\"'>{$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" echo>>
    </div>
    <?php
}</code>

N'oubliez pas que le crochet utilisé (par exemple, do_meta_boxes ou wp_dashboard_setup) dépend du contexte.

Conclusion:

L'API Meta Box de WordPress est un outil puissant pour étendre les fonctionnalités. Comprendre ses nuances et hiérarchiser les meilleures pratiques de sécurité est la clé d'une implémentation efficace. Les exemples de code fournis illustrent les processus de base, mais n'oubliez pas de les adapter à vos besoins spécifiques et de désinfecter toujours les entrées des utilisateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn