使用onclick cookie值

时间:2018-05-18 00:56:20

标签: javascript wordpress shortcode

对于一些wordpress网站,我正在创建一个cookiewall。所以在插件文件中我创建了一个这样的短代码:

function agreebutton($atts, $content = null) {
extract(shortcode_atts(array($atts),$content));
return '<button type="submit" onClick="SetCookie('clickagree','yes')">';
do_shortcode($content) . '</button>'; 
add_shortcode('button', 'agreebutton');

在自定义模板中,我设置了一个SetCookie函数,因此如果单击该按钮,将放置cookie:

<script>
function SetCookie(cookieName,cookieValue) {
var today = new Date();
var expire = new Date();
var nDays=365
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName+"="+escape(cookieValue)+";expires="+expire.toGMTString(); }</script>

现在的问题是,当我尝试返回onClick =“SetCookie('clickagree','yes')时,我得到一个意外的'clickagree'语法错误(T_STRING)。 转义并不解决它,并且要使短代码工作,您需要返回而不是回显。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,所以在更改引用后,这有效:

return '<button onClick="SetCookie( \'clickagree\',\'yes\')">' . do_shortcode($content) . '</button>';