WordPress:通过过滤器自定义Ajax请求响应



父主题中有一个函数,我想自定义成功消息,我不想更改父主题文件。而且这个功能是不可插拔的,所以我不能覆盖它。经过挖掘,我发现我可以使用add_filter钩子来过滤响应。

我写了这个代码:

add_filter( 'wp_ajax_sync-data', 'custom_sync_data' );
function custom_sync_data(){
   $response = array(
               'success' => true,
               'message' => 'Date is updated'
               );
   wp_send_json($response);
}

它完成了这项工作,但它总是返回success消息,而不进行任何验证。我不知道,如何传递参数进行验证或决策。

你能试试这个吗

function custom_sync_data($params){
    //$params can be data or parameters you will have to pass
    //or you will have to check
    //based on that your setup validation or logic
    $response = array(
        'success' => true,
        'message' => 'Date is updated'
    );
}
wp_send_json($response);

您也可以使用var_dump($params)来检查是否有任何内容被传递给函数。

希望这能有所帮助。

最新更新