How To Set Time Properly With Transient API WordPress -
i have searched , cannot locate answer already.
there code in website working with, sets cookie when user logs wordpress. cookie being added, date (30 days today) cookie expire not being set properly. cookie present once login happens, date not defined in cookie 30 days intended.
add_action( 'wp_login', 'bro_set_universal_cookie' ); function bro_set_universal_cookie() { global $i2sdk; $email = wp_get_current_user()->user_email; // infusionsoft id $returnfields = array('id'); $client_data = $i2sdk->isdk->findbyemail($email, $returnfields); $infusionsoft_id = $client_data[0]['id']; setcookie( 'cookiename', $infusionsoft_id, 30 * days_in_seconds, '/', '.websitenamehere.com'); } add_action('wp_head','rup_check_referrer'); function rup_check_referrer() { if(get_post_type() == "sfwd-courses"){ if(isset($_get['registersuccess']) && $_get['registersuccess']==1) { $cur_url=strtok($_server["request_uri"],'?'); header("refresh:0; url=$cur_url"); } } } after looking this, appears section has transients api date in it, section:
30 * days_in_seconds is suppose be:
30 * day_in_seconds as outlined here:
https://codex.wordpress.org/transients_api
however, when changing , removing s days, cookie no longer applied @ all. strange.
if can cookie expiration date expire in 30 days, appreciated. examples of proper code extremely helpful. assuming has portion of coding needing changed:
30 * days_in_seconds just not sure best way so. thinking not using transients api date, instead writing date cookie php might better option? this:
add_action( 'wp_login', 'bro_set_universal_cookie' ); function bro_set_universal_cookie() { global $i2sdk; $email = wp_get_current_user()->user_email; // infusionsoft id $returnfields = array('id'); $client_data = $i2sdk->isdk->findbyemail($email, $returnfields); $infusionsoft_id = $client_data[0]['id']; setcookie( 'cookiename', $infusionsoft_id, echo date('y-m-d', strtotime("+30 days")), '/', '.websitenamehere.com'); } add_action('wp_head','rup_check_referrer'); function rup_check_referrer() { if(get_post_type() == "sfwd-courses"){ if(isset($_get['registersuccess']) && $_get['registersuccess']==1) { $cur_url=strtok($_server["request_uri"],'?'); header("refresh:0; url=$cur_url"); } } } thank in advance can provide!
ok, fixed one... edit fix used changed this:
setcookie( 'cookiename', $infusionsoft_id, 30 * days_in_seconds, '/', '.websitenamehere.com'); to new line of code wrote after doing bit of research. realized whomever did original code should not have used transient api date replacement , 'ol php date answer:
setcookie( 'cookiename', $infusionsoft_id, time() + (86400 * 30), '/', '.websitenamehere.com'); hope helps in future may need it!
Comments
Post a Comment