外部弹出onclick在每个会话中仅打开一次

时间:2019-01-01 22:27:10

标签: javascript php wordpress popup

我能够复制功能弹出窗口(编码对我而言是地狱)。问题是每次您单击页面时。真烦人作为初学者,我是否有可能,所以我只能为该站点打开一次窗口?这是一个WordPress页面。我插入体内的代码。 好,谢谢 这是我写的代码

<javascript:void(0);" onClick="window.open('<?php echo "https://prehrajto.cz/hledej/" .  $post->post_title ."?cc=uga3bwln" ?>','prehrajto','resizable=yes,scrollbars=yes,');">    

我尝试使用此代码,每个会话打开一次,但浏览器被阻止。没关系,它不是onclick函数。

<script type="text/javascript">
onClick=window.open('<?php echo "https://prehrajto.cz/hledej/".get_the_title()."?cc=uga3bwln" ?>','prehrajto','resizable=yes,scrollbars=yes,');
</script>

我的编程经验为零。我在组合代码和使用cookie时遇到问题。我迷路了。

3 个答案:

答案 0 :(得分:2)

是的,您可以使用Cookie来做到这一点。

php具有处理cookie的功能,主要是setcookie()和同伴

**/ Set a Cookie /* 

    add_action( 'init', 'set_mycookie' );
    function set_mycookie() {
    setcookie( 'cookiename', 'cookievalue', time() + 3600, COOKIEPATH, COOKIE_DOMAIN   );
    }

**/ Get a Cookie /*

    add_action( 'wp_head', 'get_mycookie' );
    function get_mycookie() {
    $myvar= isset( $_COOKIE['cookiename'] ) ? $_COOKIE['cookiename'] : 'cookie not set';

    }

**/ Delete or Unset /* 

    add_action( 'init', 'unset_mycookie' );
    function unset_mycookie() {
    setcookie( 'cookiename', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN );
    }

现在,这些当然是最基本的常规示例,但是您可以将其用于任何条件集(例如@Bibberty comment / question),例如按会话,按用户,按天,按页等。任何你想要的。

边注-wp具有使用cookie的专用功能,主要用于身份验证和会话管理(wp默认情况下不启用)。请参阅wp_set_auth_cookie()以了解更多信息

侧注2 另外,关于您的代码... 将php嵌入JS(或反之亦然...)是一种不好的做法。 wp实际上有一个非常cool and elegant function to deal with that的地方,如果您真的想学习php / wp,则最好立即开始使用它

答案 1 :(得分:0)

完成了, 我使用带有z-index的css类进行了弹出窗口,并使用_blank和onclick将透明图像作为外部链接插入到正文中。也许不专业,但可以发挥作用

答案 2 :(得分:-3)

您可以使用部分javascript部分php,

1)基于PHP的Cookie-会话会话检查

2)Javascript:Cookie-基于LocalStorage的会话检查