Home  >  Article  >  CMS Tutorial  >  How to develop a WordPress plugin that automatically generates thumbnails

How to develop a WordPress plugin that automatically generates thumbnails

PHPz
PHPzOriginal
2023-09-05 11:00:391209browse

How to develop a WordPress plugin that automatically generates thumbnails

How to develop a WordPress plug-in that automatically generates thumbnails

In modern website design, images are a very important part. It can not only increase the beauty of the page, but also It can also improve user experience. However, to ensure website performance and loading speed, we usually need to thumbnail large-sized images. In WordPress, there are many plugins that can help us automatically generate thumbnails. Today, we will learn how to develop a WordPress plugin that automatically generates thumbnails.

First, we need to create a new plugin. Find the wp-content/plugins folder in your WordPress installation directory and create a new folder named thumbnail-generator.

In the thumbnail-generator folder, create a new file called thumbnail-generator.php and add the following code:

/*
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;
}

This code creates a new file called Thumbnail Generator plugin and added a filter on the wp_generate_attachment_metadata action for generating thumbnails. The generate_thumbnail function accepts two parameters: metadata and attachment_id. In this function, we first get the path to the upload directory and the file path. Then we check if the thumbnail already exists. If it does not exist, we create an image editor object using the wp_get_image_editor function and set the thumbnail size to 150 pixels. Finally, we save the thumbnail.

Next, we need to activate the plug-in. Log in to the WordPress backend management interface, click the "Plugins" tab, find and activate the Thumbnail Generator plug-in.

Now, we have developed a WordPress plugin that automatically generates thumbnails. Whenever you upload an image, the plugin automatically generates a thumbnail with a size of 150x150 pixels and saves it in the thumbnails subdirectory of the uploads directory.

I hope that through this article, you can understand how to develop a WordPress plug-in that automatically generates thumbnails. This plugin can help you improve the user experience of your website without affecting its performance and loading speed. Start developing your own plugins!

The above is the detailed content of How to develop a WordPress plugin that automatically generates thumbnails. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn