【发布时间】:2019-09-19 19:20:36
【问题描述】:
我尝试在我的 Wordpress 网站上设置 cookie。
所以我在header.php上写了以下代码
if($_REQUEST['my-key'] !==""){
$value=$_REQUEST['my-key'];
setcookie('new_my_code', $value, time() + (86400));
}
但是这个问题是这个cookie只设置了对应的页面,而不是整个域。
例如,如果有人使用 www.mywebsite.com/about/?my-key=123
那么 cookie 仅设置在 /about 路径上。我想在整个页面或整个域上设置它,我尝试了很多东西都没有用
Try 1) header.php
if($_REQUEST['my-key'] !==""){
$value=$_REQUEST['my-key'];
setcookie('new_my_code', $value, time() + (86400), '/');
}
Try 2) header.php
if($_REQUEST['my-key'] !==""){
$value=$_REQUEST['my-key'];
setcookie('new_my_code', $value, time() + (86400), '/', '.mywebsite.com');
}
Try 3) header.php
if($_REQUEST['my-key'] !==""){
$value=$_REQUEST['my-key'];
setcookie('new_my_code', $value, time() + (86400), COOKIEPATH, COOKIE_DOMAIN);
}
Try 4) functions.php
add_action( 'init', 'setting_my_first_cookie' );
function setting_my_first_cookie() {
if($_REQUEST['my-key'] !==""){
$value=$_REQUEST['my-key'];
setcookie('new_my_code', $value, time() + (86400), COOKIEPATH, COOKIE_DOMAIN);
}
}
5)
$rp_path = isset( $_SERVER['REQUEST_URI'] ) ? current( explode( '?', wp_unslash( $_SERVER['REQUEST_URI'] ) ) ) : '';
setcookie('new_my_code', $value, time() + (86400),$rp_path, COOKIE_DOMAIN, is_ssl(), true);
我厌倦了我在网上找到的大多数东西以使其正常工作。但无论我在做什么 cookie 都只是设置在同一页面上。所以请帮忙
有什么解决办法吗?有没有 jQuery 解决方案?
【问题讨论】: