recherche
MaisonTutoriel CMSWordPresseÉtendre les actions de modification rapide dans le tableau de bord WordPress

Ce didacticiel démontre l'extension des fonctionnalités de modification rapide de WordPress pour inclure des champs de méta-post personnalisés. Ramovions le processus et améliorons la clarté.

Extend the Quick Edit Actions in the WordPress Dashboard

Améliorations de clés: Ce plugin ajoute des champs "post" publique "et" Rating "et" Subtitle "à l'interface Modifier rapidement, améliorant l'efficacité du post-gestion.

Développement du plugin: La création d'un plugin est la meilleure pratique pour étendre la fonctionnalité de base WordPress. Cela évite de modifier les fichiers centraux, garantissant des mises à jour plus faciles.

<?php
/**
 * Plugin Name: Extend Quick Edit
 * Plugin URI:  https://elevate360.com.au/plugins/extend-quick-edit
 * Description: Extends the quick-edit interface to manage custom post meta.
 * Version:     1.0.0
 * Author:      Simon Codrington
 * Author URI:  http://simoncodrington.com.au
 * Text Domain: extend-quick-edit
 * Domain Path: /languages
 */

class EL_Extend_Quick_Edit {

    private static $instance = null;

    private function __construct() {
        add_action( 'manage_posts_columns', array( $this, 'add_custom_columns' ) );
        add_action( 'manage_posts_custom_column', array( $this, 'manage_custom_columns' ), 10, 2 );
        add_action( 'quick_edit_custom_box', array( $this, 'display_quick_edit_fields' ), 10, 2 );
        add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
        add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ), 10, 2 );
        add_action( 'save_post', array( $this, 'save_post_meta' ), 10, 2 );
    }

    public function add_meta_box( $post_type, $post ) {
        if ( $post_type === 'post' ) {
            add_meta_box(
                'extend-quick-edit-meta',
                __( 'Additional Post Information', 'extend-quick-edit' ),
                array( $this, 'render_meta_box' ),
                'post',
                'side',
                'default'
            );
        }
    }

    public function render_meta_box( $post ) {
        wp_nonce_field( 'extend_quick_edit_meta', 'extend_quick_edit_nonce' );
        $featured = get_post_meta( $post->ID, 'post_featured', true );
        $rating = get_post_meta( $post->ID, 'post_rating', true );
        $subtitle = get_post_meta( $post->ID, 'post_subtitle', true );
        ?>
        <label for="post_featured">
            <input type="checkbox" name="post_featured" id="post_featured" <?php checked( $featured, 'yes' ); ?> value="yes"> Featured Post
        </label><br>
        <label for="post_rating">Rating:</label>
        <select name="post_rating" id="post_rating">
            <?php for ( $i = 1; $i <= 5; $i++ ) { ?>
                <option value="<?php echo $i; ?>" <?php selected( $rating, $i ); ?>><?php echo $i; ?></option>
            <?php } ?>
        </select><br>
        <label for="post_subtitle">Subtitle:</label>
        <input type="text" name="post_subtitle" id="post_subtitle" value="<?php echo esc_attr( $subtitle ); ?>">
        <?php
    }

    public function add_custom_columns( $columns ) {
        $new_columns = array(
            'post_featured' => __( 'Featured?', 'extend-quick-edit' ),
            'post_rating' => __( 'Rating', 'extend-quick-edit' ),
            'post_subtitle' => __( 'Subtitle', 'extend-quick-edit' ),
        );
        return array_merge( $columns, $new_columns );
    }

    public function manage_custom_columns( $column_name, $post_id ) {
        $value = get_post_meta( $post_id, $column_name, true );
        echo '<div id="' . esc_attr( $column_name ) . '_' . $post_id . '">' . esc_html( $value ) . '</div>';
    }

    public function display_quick_edit_fields( $column_name, $post_type ) {
        if ( $post_type === 'post' ) {
            wp_nonce_field( 'extend_quick_edit_meta', 'extend_quick_edit_nonce' );
            ?>
            <fieldset>
                <?php if ( $column_name === 'post_featured' ): ?>
                    <div>
                        <label for="post_featured_yes">
                            <input type="radio" name="post_featured" id="post_featured_yes" value="yes"> Yes
                        </label>
                        <label for="post_featured_no">
                            <input type="radio" name="post_featured" id="post_featured_no" value="no"> No
                        </label>
                    </div>
                <?php elseif ( $column_name === 'post_rating' ): ?>
                    <div>
                        <select name="post_rating" id="post_rating">
                            <?php for ( $i = 1; $i <= 5; $i++ ) { ?>
                                <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
                            <?php } ?>
                        </select>
                    </div>
                <?php elseif ( $column_name === 'post_subtitle' ): ?>
                    <div>
                        <input type="text" name="post_subtitle" id="post_subtitle">
                    </div>
                <?php endif; ?>
            </fieldset>
            <?php
        }
    }

    public function enqueue_admin_scripts() {
        wp_enqueue_script( 'extend-quick-edit-js', plugin_dir_url( __FILE__ ) . 'extend-quick-edit.js', array( 'jquery', 'inline-edit-post' ), '1.0.0', true );
    }

    public function save_post_meta( $post_id, $post ) {
        if ( ! isset( $_POST['extend_quick_edit_nonce'] ) || ! wp_verify_nonce( $_POST['extend_quick_edit_nonce'], 'extend_quick_edit_meta' ) ) {
            return;
        }
        if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
            return;
        }
        if ( ! current_user_can( 'edit_post', $post_id ) ) {
            return;
        }

        $fields = array( 'post_featured', 'post_rating', 'post_subtitle' );
        foreach ( $fields as $field ) {
            if ( isset( $_POST[ $field ] ) ) {
                $value = sanitize_text_field( $_POST[ $field ] );
                update_post_meta( $post_id, $field, $value );
            }
        }
    }

    public static function get_instance() {
        if ( is_null( self::$instance ) ) {
            self::$instance = new self();
        }
        return self::$instance;
    }
}

EL_Extend_Quick_Edit::get_instance();
?>

(extend-quick-edit.js):

jQuery(document).ready(function($) {
    var $inlineEdit = inlineEditPost.edit;
    inlineEditPost.edit = function(id) {
        $inlineEdit.apply(this, arguments);
        var $row = $(this.row);
        var post_id = parseInt($row.attr('id').replace(/[^0-9]/g, ''));
        var fields = ['post_featured', 'post_rating', 'post_subtitle'];
        $.each(fields, function(index, field) {
            var value = $('#' + field + '_' + post_id).text();
            if (field === 'post_featured') {
                $row.find('input[name="' + field + '"][value="' + value + '"]').prop('checked', true);
            } else {
                $row.find('#' + field).val(value);
            }
        });
    }
});

N'oubliez pas de placer extend-quick-edit.js dans le même répertoire que le fichier PHP de votre plugin. Ce code amélioré est plus concis, efficace et plus facile à entretenir. Le JavaScript est simplifié pour remplir directement les champs de modification rapides à l'aide de jQuery. La gestion des erreurs et la sécurité sont également améliorées. Cette approche révisée fournit une solution plus robuste et conviviale. Après avoir activé le plugin, vous verrez les nouveaux champs personnalisés dans l'interface rapide d'édition. N'oubliez pas d'effacer votre cache de navigateur après l'installation du plugin.

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
Comment ajouter une boîte de commentaires à WordPressComment ajouter une boîte de commentaires à WordPressApr 20, 2025 pm 12:15 PM

Activez les commentaires sur votre site Web WordPress pour fournir aux visiteurs une plate-forme pour participer aux discussions et partager les commentaires. Pour ce faire, suivez ces étapes: Activez les commentaires: Dans le tableau de bord, accédez à Paramètres & GT; Discussions et sélectionnez la case Autoriser les commentaires. Créez un formulaire de commentaire: Dans l'éditeur, cliquez sur Ajouter un bloc et recherchez le bloc de commentaires pour l'ajouter au contenu. Formulaire de commentaire personnalisé: Personnalisez les blocs de commentaires en définissant des titres, des étiquettes, des espaces réservés et du texte des bouton. Enregistrer les modifications: cliquez sur Mettre à jour pour enregistrer la zone de commentaire et l'ajouter à la page ou à l'article.

Comment copier des sous-sites de WordPressComment copier des sous-sites de WordPressApr 20, 2025 pm 12:12 PM

Comment copier un subsite WordPress? Étapes: Créez un sous-site dans le site principal. Clonage du sous-site dans le site principal. Importez le clone dans l'emplacement cible. Mettez à jour le nom de domaine (facultatif). Plugins et thèmes séparés.

Comment écrire une en-tête d'un wordpressComment écrire une en-tête d'un wordpressApr 20, 2025 pm 12:09 PM

Les étapes pour créer un en-tête personnalisé dans WordPress sont les suivantes: modifier le fichier de thème "header.php". Ajoutez le nom et la description de votre site Web. Créez un menu de navigation. Ajoutez une barre de recherche. Enregistrez les modifications et affichez votre en-tête personnalisé.

Comment afficher les commentaires WordPressComment afficher les commentaires WordPressApr 20, 2025 pm 12:06 PM

Activer les commentaires dans le site Web de WordPress: 1. Connectez-vous au panneau d'administration, accédez à "Paramètres" - "Discussions" et vérifiez "Autoriser les commentaires"; 2. Sélectionnez un emplacement pour afficher les commentaires; 3. Personnaliser les commentaires; 4. Gérer les commentaires, approuver, rejeter ou supprimer; 5. Utiliser & lt ;? php commentaires_template (); ? & gt; Tags pour afficher les commentaires; 6. Activer les commentaires imbriqués; 7. Ajuster la forme du commentaire; 8. Utilisez des plugins et des codes de vérification pour empêcher les commentaires du spam; 9. Encouragez les utilisateurs à utiliser Gravatar Avatar; 10. Créer des commentaires pour se référer à

Comment télécharger le code source pour WordPressComment télécharger le code source pour WordPressApr 20, 2025 pm 12:03 PM

Vous pouvez installer le plug-in FTP via WordPress, configurer la connexion FTP, puis télécharger le code source à l'aide du gestionnaire de fichiers. Les étapes incluent: l'installation du plug-in FTP, la configuration de la connexion, la navigation sur l'emplacement de téléchargement, le téléchargement de fichiers et la vérification que le téléchargement est réussi.

Comment copier le code WordPressComment copier le code WordPressApr 20, 2025 pm 12:00 PM

Comment copier WordPress Code? Copier à partir de l'interface d'administration: connectez-vous au site Web WordPress, accédez à la destination, sélectionnez le code et appuyez sur Ctrl C (Windows) / Commande C (Mac) pour copier le code. Copiez à partir d'un fichier: connectez-vous au serveur à l'aide de SSH ou FTP, accédez au fichier thème ou plug-in, sélectionnez le code et appuyez sur Ctrl C (Windows) / Commande C (Mac) pour copier le code.

Que faire s'il y a une erreur dans WordPressQue faire s'il y a une erreur dans WordPressApr 20, 2025 am 11:57 AM

Guide de résolution d'erreur WordPress: 500 Erreur du serveur interne: désactivez le plug-in ou vérifiez le journal d'erreur du serveur. 404 Page introuvable: Vérifiez le permalien et assurez-vous que le lien de la page est correct. Écran blanc de la mort: augmentez la limite de mémoire PHP du serveur. Erreur de connexion de la base de données: vérifiez l'état du serveur de base de données et la configuration WordPress. Autres conseils: activer le mode de débogage, vérifier les journaux d'erreur et rechercher le support. Empêcher les erreurs: mettre à jour régulièrement WordPress, installer uniquement les plugins nécessaires, sauvegarder régulièrement votre site Web et optimiser les performances du site Web.

Comment fermer les commentaires avec WordPressComment fermer les commentaires avec WordPressApr 20, 2025 am 11:54 AM

Comment désactiver un commentaire dans WordPress? Article ou page spécifique: Décochez Autoriser les commentaires en discussion dans l'éditeur. Site Web entier: Décochez "Autoriser les commentaires" dans "Paramètres" -> "Discussion". Utilisation des plug-ins: installez des plug-ins tels que désactiver les commentaires pour désactiver les commentaires. Modifiez le fichier du sujet: supprimez le formulaire de commentaire en modifiant le fichier commentaires.php. Code personnalisé: utilisez la fonction add_filter () pour désactiver les commentaires.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),