Woocommerce Session cookie not set on ajax when using admin-ajax.php
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I have a Wordpress ajax function which is using the WC()->session to take session data and use it in the function. (for exmaple taking chosen shipping method from the session and displaying it).
The function is working properly on my local machine. However, it's not working on WP Engine live server. I have already contacted them and they advised that the issue should not be on their side.
As far as I can see the following cookies are not being set on the live server only for admin-ajax.php request:
- Set-Cookie:
woocommerce_items_in_cart
- Set-Cookie:
woocommerce_cart_hash
- Set-Cookie:
wp_woocommerce_session
Does anyone have any idea what might cause this issue?
php ajax wordpress cookies woocommerce
add a comment |
I have a Wordpress ajax function which is using the WC()->session to take session data and use it in the function. (for exmaple taking chosen shipping method from the session and displaying it).
The function is working properly on my local machine. However, it's not working on WP Engine live server. I have already contacted them and they advised that the issue should not be on their side.
As far as I can see the following cookies are not being set on the live server only for admin-ajax.php request:
- Set-Cookie:
woocommerce_items_in_cart
- Set-Cookie:
woocommerce_cart_hash
- Set-Cookie:
wp_woocommerce_session
Does anyone have any idea what might cause this issue?
php ajax wordpress cookies woocommerce
add a comment |
I have a Wordpress ajax function which is using the WC()->session to take session data and use it in the function. (for exmaple taking chosen shipping method from the session and displaying it).
The function is working properly on my local machine. However, it's not working on WP Engine live server. I have already contacted them and they advised that the issue should not be on their side.
As far as I can see the following cookies are not being set on the live server only for admin-ajax.php request:
- Set-Cookie:
woocommerce_items_in_cart
- Set-Cookie:
woocommerce_cart_hash
- Set-Cookie:
wp_woocommerce_session
Does anyone have any idea what might cause this issue?
php ajax wordpress cookies woocommerce
I have a Wordpress ajax function which is using the WC()->session to take session data and use it in the function. (for exmaple taking chosen shipping method from the session and displaying it).
The function is working properly on my local machine. However, it's not working on WP Engine live server. I have already contacted them and they advised that the issue should not be on their side.
As far as I can see the following cookies are not being set on the live server only for admin-ajax.php request:
- Set-Cookie:
woocommerce_items_in_cart
- Set-Cookie:
woocommerce_cart_hash
- Set-Cookie:
wp_woocommerce_session
Does anyone have any idea what might cause this issue?
php ajax wordpress cookies woocommerce
php ajax wordpress cookies woocommerce
edited Nov 22 '18 at 22:30
LoicTheAztec
97.5k1471114
97.5k1471114
asked Nov 22 '18 at 15:26
Ivan YankovIvan Yankov
7719
7719
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
This is not normal and seems to be related to WP Engine hosting.
Now you should try to force enable Woocommerce Customer Session (if it's not enabled yet), with the following code that will set the WC_Session
cookie.
It could enable back WC()->session
when using admin-ajax.php
:
add_action( 'woocommerce_init', 'enable_wc_session_cookie' );
function enable_wc_session_cookie(){
if( is_admin() )
return;
if ( ! WC()->session->has_session() )
WC()->session->set_customer_session_cookie( true );
}
Code goes in function.php file of your active child theme (or active theme). It could works.
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%2f53434098%2fwoocommerce-session-cookie-not-set-on-ajax-when-using-admin-ajax-php%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
This is not normal and seems to be related to WP Engine hosting.
Now you should try to force enable Woocommerce Customer Session (if it's not enabled yet), with the following code that will set the WC_Session
cookie.
It could enable back WC()->session
when using admin-ajax.php
:
add_action( 'woocommerce_init', 'enable_wc_session_cookie' );
function enable_wc_session_cookie(){
if( is_admin() )
return;
if ( ! WC()->session->has_session() )
WC()->session->set_customer_session_cookie( true );
}
Code goes in function.php file of your active child theme (or active theme). It could works.
add a comment |
This is not normal and seems to be related to WP Engine hosting.
Now you should try to force enable Woocommerce Customer Session (if it's not enabled yet), with the following code that will set the WC_Session
cookie.
It could enable back WC()->session
when using admin-ajax.php
:
add_action( 'woocommerce_init', 'enable_wc_session_cookie' );
function enable_wc_session_cookie(){
if( is_admin() )
return;
if ( ! WC()->session->has_session() )
WC()->session->set_customer_session_cookie( true );
}
Code goes in function.php file of your active child theme (or active theme). It could works.
add a comment |
This is not normal and seems to be related to WP Engine hosting.
Now you should try to force enable Woocommerce Customer Session (if it's not enabled yet), with the following code that will set the WC_Session
cookie.
It could enable back WC()->session
when using admin-ajax.php
:
add_action( 'woocommerce_init', 'enable_wc_session_cookie' );
function enable_wc_session_cookie(){
if( is_admin() )
return;
if ( ! WC()->session->has_session() )
WC()->session->set_customer_session_cookie( true );
}
Code goes in function.php file of your active child theme (or active theme). It could works.
This is not normal and seems to be related to WP Engine hosting.
Now you should try to force enable Woocommerce Customer Session (if it's not enabled yet), with the following code that will set the WC_Session
cookie.
It could enable back WC()->session
when using admin-ajax.php
:
add_action( 'woocommerce_init', 'enable_wc_session_cookie' );
function enable_wc_session_cookie(){
if( is_admin() )
return;
if ( ! WC()->session->has_session() )
WC()->session->set_customer_session_cookie( true );
}
Code goes in function.php file of your active child theme (or active theme). It could works.
edited Nov 23 '18 at 4:40
answered Nov 22 '18 at 22:23
LoicTheAztecLoicTheAztec
97.5k1471114
97.5k1471114
add a comment |
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%2f53434098%2fwoocommerce-session-cookie-not-set-on-ajax-when-using-admin-ajax-php%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