WordPress: Customize Ajax request response via filter
There is a function in parent theme and I want to customize success message, I don't want to make change in parent theme file. And the function is not pluggable so I can't override it. After digging, I found that I can use add_filter
hook to filter response.
I wrote this code:
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);
It does the job but it always returns success
message, without any validation. I don't know, how to pass parameter for validation or decision making.
Any help please...
wordpress wordpress-theming add-filter
add a comment |
There is a function in parent theme and I want to customize success message, I don't want to make change in parent theme file. And the function is not pluggable so I can't override it. After digging, I found that I can use add_filter
hook to filter response.
I wrote this code:
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);
It does the job but it always returns success
message, without any validation. I don't know, how to pass parameter for validation or decision making.
Any help please...
wordpress wordpress-theming add-filter
add a comment |
There is a function in parent theme and I want to customize success message, I don't want to make change in parent theme file. And the function is not pluggable so I can't override it. After digging, I found that I can use add_filter
hook to filter response.
I wrote this code:
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);
It does the job but it always returns success
message, without any validation. I don't know, how to pass parameter for validation or decision making.
Any help please...
wordpress wordpress-theming add-filter
There is a function in parent theme and I want to customize success message, I don't want to make change in parent theme file. And the function is not pluggable so I can't override it. After digging, I found that I can use add_filter
hook to filter response.
I wrote this code:
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);
It does the job but it always returns success
message, without any validation. I don't know, how to pass parameter for validation or decision making.
Any help please...
wordpress wordpress-theming add-filter
wordpress wordpress-theming add-filter
asked Nov 15 '18 at 7:04
AlenaAlena
1321313
1321313
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Can you try this
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);
You may also use var_dump($params)
to check if anything is passed to function.
Hope this helps.
I already tried that but there isn't any param, it prints nothing.
– Alena
Nov 15 '18 at 11:28
Can you please explain what you are trying to do?
– zipkundan
Nov 15 '18 at 11:38
I think the question is very clear but lemme briefly explain again, there is a function which inserts data in database. After the insertion, it sends success message. And I want to customize that message without affecting parent theme. The code (I added in question) sends correct message but it always send that message, doesn't matter what happens inside function. It even works, if I putexit();
in the beginning of parent theme function. So, I want to validate current response of function, if it is success then send my custom message instead of original message. Hopefully it make sense now..
– Alena
Nov 15 '18 at 12:13
Can you post code of the function in the parent them which want to override?
– zipkundan
Nov 15 '18 at 12:16
There is more than 1500 lines of code so can't show you. However you can check my other question to understand code structure.
– Alena
Nov 16 '18 at 5:26
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53314069%2fwordpress-customize-ajax-request-response-via-filter%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Can you try this
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);
You may also use var_dump($params)
to check if anything is passed to function.
Hope this helps.
I already tried that but there isn't any param, it prints nothing.
– Alena
Nov 15 '18 at 11:28
Can you please explain what you are trying to do?
– zipkundan
Nov 15 '18 at 11:38
I think the question is very clear but lemme briefly explain again, there is a function which inserts data in database. After the insertion, it sends success message. And I want to customize that message without affecting parent theme. The code (I added in question) sends correct message but it always send that message, doesn't matter what happens inside function. It even works, if I putexit();
in the beginning of parent theme function. So, I want to validate current response of function, if it is success then send my custom message instead of original message. Hopefully it make sense now..
– Alena
Nov 15 '18 at 12:13
Can you post code of the function in the parent them which want to override?
– zipkundan
Nov 15 '18 at 12:16
There is more than 1500 lines of code so can't show you. However you can check my other question to understand code structure.
– Alena
Nov 16 '18 at 5:26
add a comment |
Can you try this
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);
You may also use var_dump($params)
to check if anything is passed to function.
Hope this helps.
I already tried that but there isn't any param, it prints nothing.
– Alena
Nov 15 '18 at 11:28
Can you please explain what you are trying to do?
– zipkundan
Nov 15 '18 at 11:38
I think the question is very clear but lemme briefly explain again, there is a function which inserts data in database. After the insertion, it sends success message. And I want to customize that message without affecting parent theme. The code (I added in question) sends correct message but it always send that message, doesn't matter what happens inside function. It even works, if I putexit();
in the beginning of parent theme function. So, I want to validate current response of function, if it is success then send my custom message instead of original message. Hopefully it make sense now..
– Alena
Nov 15 '18 at 12:13
Can you post code of the function in the parent them which want to override?
– zipkundan
Nov 15 '18 at 12:16
There is more than 1500 lines of code so can't show you. However you can check my other question to understand code structure.
– Alena
Nov 16 '18 at 5:26
add a comment |
Can you try this
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);
You may also use var_dump($params)
to check if anything is passed to function.
Hope this helps.
Can you try this
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);
You may also use var_dump($params)
to check if anything is passed to function.
Hope this helps.
answered Nov 15 '18 at 8:58
zipkundanzipkundan
1,2661513
1,2661513
I already tried that but there isn't any param, it prints nothing.
– Alena
Nov 15 '18 at 11:28
Can you please explain what you are trying to do?
– zipkundan
Nov 15 '18 at 11:38
I think the question is very clear but lemme briefly explain again, there is a function which inserts data in database. After the insertion, it sends success message. And I want to customize that message without affecting parent theme. The code (I added in question) sends correct message but it always send that message, doesn't matter what happens inside function. It even works, if I putexit();
in the beginning of parent theme function. So, I want to validate current response of function, if it is success then send my custom message instead of original message. Hopefully it make sense now..
– Alena
Nov 15 '18 at 12:13
Can you post code of the function in the parent them which want to override?
– zipkundan
Nov 15 '18 at 12:16
There is more than 1500 lines of code so can't show you. However you can check my other question to understand code structure.
– Alena
Nov 16 '18 at 5:26
add a comment |
I already tried that but there isn't any param, it prints nothing.
– Alena
Nov 15 '18 at 11:28
Can you please explain what you are trying to do?
– zipkundan
Nov 15 '18 at 11:38
I think the question is very clear but lemme briefly explain again, there is a function which inserts data in database. After the insertion, it sends success message. And I want to customize that message without affecting parent theme. The code (I added in question) sends correct message but it always send that message, doesn't matter what happens inside function. It even works, if I putexit();
in the beginning of parent theme function. So, I want to validate current response of function, if it is success then send my custom message instead of original message. Hopefully it make sense now..
– Alena
Nov 15 '18 at 12:13
Can you post code of the function in the parent them which want to override?
– zipkundan
Nov 15 '18 at 12:16
There is more than 1500 lines of code so can't show you. However you can check my other question to understand code structure.
– Alena
Nov 16 '18 at 5:26
I already tried that but there isn't any param, it prints nothing.
– Alena
Nov 15 '18 at 11:28
I already tried that but there isn't any param, it prints nothing.
– Alena
Nov 15 '18 at 11:28
Can you please explain what you are trying to do?
– zipkundan
Nov 15 '18 at 11:38
Can you please explain what you are trying to do?
– zipkundan
Nov 15 '18 at 11:38
I think the question is very clear but lemme briefly explain again, there is a function which inserts data in database. After the insertion, it sends success message. And I want to customize that message without affecting parent theme. The code (I added in question) sends correct message but it always send that message, doesn't matter what happens inside function. It even works, if I put
exit();
in the beginning of parent theme function. So, I want to validate current response of function, if it is success then send my custom message instead of original message. Hopefully it make sense now..– Alena
Nov 15 '18 at 12:13
I think the question is very clear but lemme briefly explain again, there is a function which inserts data in database. After the insertion, it sends success message. And I want to customize that message without affecting parent theme. The code (I added in question) sends correct message but it always send that message, doesn't matter what happens inside function. It even works, if I put
exit();
in the beginning of parent theme function. So, I want to validate current response of function, if it is success then send my custom message instead of original message. Hopefully it make sense now..– Alena
Nov 15 '18 at 12:13
Can you post code of the function in the parent them which want to override?
– zipkundan
Nov 15 '18 at 12:16
Can you post code of the function in the parent them which want to override?
– zipkundan
Nov 15 '18 at 12:16
There is more than 1500 lines of code so can't show you. However you can check my other question to understand code structure.
– Alena
Nov 16 '18 at 5:26
There is more than 1500 lines of code so can't show you. However you can check my other question to understand code structure.
– Alena
Nov 16 '18 at 5:26
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53314069%2fwordpress-customize-ajax-request-response-via-filter%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown