DIY WordPress图片优化插件:自动压缩+ALT自动生成教程

昨天发了一个图片自动压缩和自动添加alt的插件视频,很多同学挺感兴趣的,其实很简单,今天就分享一下如何制作,几分钟搞定。

01:47
视频声音有很强电流声,大家静音看就行了。
制作教程
登入服务器根目录,这里以hostinger为例。
登录hostinger服务器,在面板上找到Files文件夹。或者用FTP的方式也可以。

选择file manager,点击第一个进入。

打开public_html文件夹

点击wp-content。

进入plugins插件文件夹。

创建新文件夹。

自定义命名。

在新文件夹添加新文件。

自定义命名,一定要加php,才会是php文件,能够应用。

在新文件里面输入这段代码,api要自己替换。
API获取点击下方教程。
注:如果你上传的图片已经在http://tinypng.com这种网站或者其他网站压缩过,那可能不会再度压缩了。
<?php
/**
* Plugin Name: YLSSEOImage
* Description: 自动压缩图片并填充 ALT 和 Title。
* Version: 1.0
* Author: Your Name
* Author URI: https://yourwebsite.com
*/
if (!defined('ABSPATH')) exit; // 防止直接访问
// 激活插件时的初始化
function ylsseoimage_activate() {
// 在这里可以进行插件激活时的设置
}
register_activation_hook(__FILE__, 'ylsseoimage_activate');
// 插件功能代码
function ylsseoimage_image_compression_and_alt($metadata, $attachment_id) {
// 获取图片路径
$image_path = get_attached_file($attachment_id);
// 1. 压缩图片
$compressed_image_url = ylsseoimage_compress_image($image_path);
// 2. 获取图片 ALT 和 Title(直接使用标题)
$post_title = get_the_title($attachment_id); // 获取图片的标题
$alt_text = $post_title; // 使用标题作为 ALT 和 Title
// 更新图片的 ALT 和 Title
update_post_meta($attachment_id, '_wp_attachment_image_alt', $alt_text);
wp_update_post(['ID' => $attachment_id, 'post_title' => $alt_text]);
return $metadata;
}
add_filter('wp_generate_attachment_metadata', 'ylsseoimage_image_compression_and_alt', 10, 2);
// 1. 使用 ShortPixel API 压缩图片
function ylsseoimage_compress_image($image_path) {
$api_key = "你的API"; // 替换为你的 ShortPixel API 密钥
// 调用 ShortPixel API 压缩图片
$url = "https://api.shortpixel.com/v2/post-reducer?key=" . $api_key;
$file = curl_file_create($image_path);
$response = wp_remote_post($url, [
'body' => [
'file' => $file,
]
]);
$body = wp_remote_retrieve_body($response);
$data = json_decode($body, true);
// 返回压缩后的图片 URL
return isset($data['compressed_url']) ? $data['compressed_url'] : $image_path;
}

