首页 > 解决方案 > 外部弹出 onclick 每次会话仅打开一次

问题描述

我能够复制功能弹出窗口(编码对我来说是地狱)。问题是每次点击页面。有什么烦人的。作为初学者,我是否有可能只为该站点打开一次窗口?这是一个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 时遇到问题。我迷路了 。

标签: javascriptphpwordpresspopup

解决方案


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

php有处理cookies的函数,主要是setcookie()和companions

**/ 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 评论/问题),例如按会话、按用户、按天、按页面等。无论你想要什么 。

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

旁注 2 另外,关于您的代码......在 JS 中嵌入 php(反之亦然......)是一种不好的做法。wp实际上有一个非常酷和优雅的函数来处理它,如果你真的想学习php/wp - 你最好现在就开始使用它


推荐阅读