我想在wordpress博客中使用onclick功能保存cookie。所以我把这段代码放在function.php
中add_action( 'init', 'setting_my_first_cookie' );
function setting_my_first_cookie() {
echo $v_username;
echo "This can be echo";
setcookie('username' , 'Rajeasdasdsdh' , time()+30*24*60*60);
}
关于index.php
<?php
global $v_username;
$v_username="demo";
$v_value="asd";
?>
<th><a href="" onclick="setting_my_first_cookie()">Set Cookie</a></th>
我正在使用此代码重新启动此Cookie:
<?php
// Accessing an individual cookie value
echo $_COOKIE["username"];
?>
一切正常,但我无法使用变量设置cookie。我无法通过$v_username
来运作。怎么做?
我希望在我的函数$v_username
setting_my_first_cookie()
答案 0 :(得分:0)
您可以在index.php上使用include_once
或include
尝试使用index.php:
的代码<?php
global $v_username;
$v_username="demo";
$v_value="asd";
include_once('function.php')
?>
<th><a href="" onclick= <?php setting_my_first_cookie(); ?> >Set Cookie</a></th>
答案 1 :(得分:0)
在您的特定情况下,问题是:
您挂钩add_action( 'init', 'setting_my_first_cookie' );
的这个钩子会在您的应用程序中的特定位置运行您的函数setting_my_first_cookie
,在这种情况下,根据Codex,
在WordPress完成加载之后但在发送任何标题之前
因此,如果您尝试调试应用程序,您会看到setting_my_first_cookie
在index.php
文件之前运行。
但一般来说,使用全局变量将参数传递给函数并不是一种好的做法。
此功能将始终运行,因此您的cookie将始终设置。
答案 2 :(得分:0)
好的,我找到了适合我的解决方案:
我使用java脚本获取PHP变量并使用它们设置cookie。我在 header.php
中添加了此代码,但如果我们将其添加到 function.php
<script type="text/javascript">
function setting_my_first_cookie(variid,variname) {
var d = new Date();
d.setTime(d.getTime() + (30*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = variname + "=" + variid + "; " + "expires; path=/; domain=.cinemoids.com";
}
</script>
<script type="text/javascript">
function setting_my_first_cookie_delete(variid,variname) {
document.cookie = variname + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain=.cinemoids.com';
}
</script>