如何通过WP CLI为WebP Express插件配置定时任务实现图片转换
配置WebP Express定时图片转换任务的正确方法
问题回顾
可通过wp webp-express convert命令手动完成图片转换,但尝试用wp cron event schedule webp_express --webp-express --convert now hourly配置定时任务时,WebP Express未执行转换操作——该命令格式错误,因为WP-Cron的schedule指令仅用于调度WordPress内部已注册的事件,无法直接触发WP-CLI命令。
解决方案
方法一:系统级定时任务(推荐)
系统cron不依赖WordPress站点访问,稳定性更高,步骤如下:
- 打开系统crontab编辑器:
crontab -e - 添加定时任务规则(以每小时执行一次为例),替换
/path/to/your/wp-root为你的WordPress根目录路径:0 * * * * cd /path/to/your/wp-root && wp webp-express convert > /dev/null 2>&1- 时间表达式可按需调整:比如
*/30 * * * *代表每30分钟执行一次,0 2 * * *代表每天凌晨2点执行。 > /dev/null 2>&1用于屏蔽命令输出,避免收到无关邮件通知。
- 时间表达式可按需调整:比如
方法二:WordPress内置Cron
若需通过WP-Cron实现,需自定义触发函数并注册事件:
- 在主题
functions.php或自定义插件中添加以下代码:// 定义触发WebP转换的函数 function webp_express_scheduled_convert() { if (function_exists('webp_express_convert_all')) { webp_express_convert_all(); } } // 注册每小时执行的定时事件 if (!wp_next_scheduled('webp_express_convert_hook')) { wp_schedule_event(time(), 'hourly', 'webp_express_convert_hook'); } add_action('webp_express_convert_hook', 'webp_express_scheduled_convert'); - 保存后,验证事件是否成功注册:
wp cron event list | grep webp_express_convert_hook - 如需立即测试执行:
wp cron event run webp_express_convert_hook
内容的提问来源于stack exchange,提问作者DEV
相关产品推荐
相关产品推荐

