You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Shell/Cronjob调用WordPress翻译升级PHP脚本?

直接执行PHP文件实现WordPress翻译更新的方案

你猜的没错——通过URL请求update-core.php会卡在WordPress后台的登录验证环节,毕竟这个页面需要管理员权限的会话才能触发操作。既然能在服务器本机直接以对应权限运行PHP,完全可以绕开HTTP请求,直接调用WordPress内部核心函数完成翻译更新,比模拟POST请求靠谱得多。

具体实现步骤

  • 编写独立PHP脚本,无需依赖update-core.php的POST参数,直接调用官方API:
    <?php
    // 加载WordPress核心环境,替换为你服务器上的实际路径
    require_once('/var/www/html/wp-load.php');
    
    // 验证执行权限(确保以管理员权限运行)
    if (!current_user_can('update_core')) {
        wp_die('无权限执行翻译更新操作');
    }
    
    // 触发翻译更新,对应原POST参数action=do-translation-upgrade的核心逻辑
    wp_update_translations();
    
    echo '翻译更新执行完成';
    ?>
    
  • 在Shell或Cron中执行脚本:
    直接用PHP命令运行即可,无需处理会话或POST参数:
    php /path/to/your/translation-update-script.php
    
    如果要添加到Cronjob(比如每天凌晨2点执行),可以这样配置:
    0 2 * * * php /path/to/your/translation-update-script.php >> /var/log/wp-translation-update.log 2>&1
    

关于POST参数转函数参数的说明

虽然可以修改update-core.php来接收命令行参数,但绝对不推荐这种方式——WordPress版本更新时,你的修改会被直接覆盖。而上面的独立脚本基于官方API编写,不改动核心文件,兼容性和可维护性更强。

如果非要尝试模拟POST请求绕过登录,需要获取管理员的wordpress_logged_in Cookie和页面的wpnonce值来构造curl请求,但这种方式维护成本高,Cookie过期后脚本就会失效,远不如直接调用内部函数稳定。

内容的提问来源于stack exchange,提问作者LeifSec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 22:53:14