Maison > Tutoriel CMS > WordPresse > le corps du texte

Comment développer un plugin WordPress qui génère automatiquement des vignettes

PHPz
Libérer: 2023-09-05 11:00:39
original
1261 Les gens l'ont consulté

Comment développer un plugin WordPress qui génère automatiquement des vignettes

Comment développer un plugin WordPress qui génère automatiquement des vignettes

Dans la conception de sites Web modernes, les images sont un élément très important, qui augmentent non seulement la beauté de la page, mais améliorent également l'expérience utilisateur. Cependant, pour garantir les performances du site Web et la vitesse de chargement, nous devons généralement créer des images miniatures de grande taille. Dans WordPress, il existe de nombreux plugins qui peuvent nous aider à générer automatiquement des vignettes. Aujourd'hui, nous allons apprendre à développer un plugin WordPress qui génère automatiquement des vignettes.

Tout d'abord, nous devons créer un nouveau plugin. Recherchez le dossier wp-content/plugins dans votre répertoire d'installation WordPress, créez un nouveau dossier et nommez-le générateur de vignettes.

Dans le dossier Thumbnail-generator, créez un nouveau fichier appelé thumbnail-generator.php et ajoutez le code suivant :

/*
Plugin Name: Thumbnail Generator
Description: Automatically generates thumbnails for uploaded images.
Version: 1.0
Author: Your Name
*/

// Hook into the 'wp_generate_attachment_metadata' action
add_filter('wp_generate_attachment_metadata', 'generate_thumbnail', 10, 2);

function generate_thumbnail($metadata, $attachment_id) {
    $upload_dir = wp_upload_dir();
    $file_path = $upload_dir['basedir'] . '/' . $metadata['file'];
    $thumbnail_path = $upload_dir['path'] . '/thumbnails/' . $metadata['sizes']['thumbnail']['file'];

    // Check if the thumbnail already exists
    if (!file_exists($thumbnail_path)) {
        $image = wp_get_image_editor($file_path);

        if (!is_wp_error($image)) {
            $image->resize(150, 150, true);
            $image->save($thumbnail_path);
        }
    }

    return $metadata;
}
Copier après la connexion

Ce code crée un plugin appelé Thumbnail Generator et ajoute l'action wp_generate_attachment_metadata Un filtre est utilisé pour générer des vignettes. La fonction generate_thumbnail accepte deux paramètres : métadonnées et attachment_id. Dans cette fonction, nous obtenons d'abord le chemin d'accès au répertoire de téléchargement et le chemin du fichier. Ensuite, nous vérifions si la vignette existe déjà. S'il n'existe pas, nous créons un objet éditeur d'image à l'aide de la fonction wp_get_image_editor et définissons la taille de la vignette à 150 pixels. Enfin, nous enregistrons la vignette.

Ensuite, nous devons activer le plugin. Connectez-vous à l'interface de gestion backend de WordPress, cliquez sur l'onglet "Plugins", recherchez et activez le plug-in Thumbnail Generator.

Maintenant, nous avons développé un plugin WordPress qui génère automatiquement des vignettes. Chaque fois que vous téléchargez une image, le plugin génère automatiquement une vignette d'une taille de 150 x 150 pixels et l'enregistre dans le sous-répertoire des vignettes du répertoire de téléchargement.

J'espère qu'à travers cet article, vous pourrez comprendre comment développer un plugin WordPress qui génère automatiquement des vignettes. Ce plugin peut vous aider à améliorer l'expérience utilisateur de votre site Web sans affecter ses performances et sa vitesse de chargement. Commencez à développer vos propres plugins !

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal