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

WordPress自定义REST路由回调如何拆分代码到不同函数并返回响应

问题解决方法

问题根因

  • 主回调函数中调用子函数时仅执行了子函数逻辑,没有将子函数返回的WP_REST_Response对象作为主函数的返回值返回,子函数执行完成后代码会继续向下执行,最终返回了主函数末尾定义的默认响应。
  • 所有return语句后的die()代码永远不会执行,属于无效冗余代码。

修复步骤

  1. 先简化子函数,删除无效的die()代码:
function another_function_1( $request ) {
    //
    // 业务处理逻辑
    //
    return new WP_REST_Response('Done from 1, bro!', 200);
}

function another_function_2( $request ) {
    //
    // 业务处理逻辑
    //
    return new WP_REST_Response('Done from 2, bro!', 200);
}
  1. 修改主回调函数,在调用子函数前增加return关键字,直接将子函数的返回值作为主函数的返回结果:
function handle_webhook( $request ) {
    // 此处提前给$something赋值你的判断条件
    if ($something) {
        return another_function_1( $request );
    } else {
        return another_function_2( $request );
    }

    // 原有末尾的默认返回已经永远不会触发,可以直接删除
}

补充说明

WordPress REST路由的回调规范为直接返回响应对象即可,框架会自动完成后续的响应输出处理,不需要手动调用die()/exit()终止程序,否则可能破坏REST API的响应结构,引发额外的格式问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:24:07