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

Javascript 外部弹出窗口onclick可在每个会话中仅打开一次,javascript,php,wordpress,popup,Javascript,Php,Wordpress,Popup,我能够复制功能弹出窗口(编码对我来说是地狱)。问题是每次你点击页面时。真烦人。作为初学者,我是否有可能只为网站打开一次窗口?这是一个wordpress页面。我插入身体的代码。 好的,谢谢你 这是我写的代码 <javascript:void(0);" onClick="window.open('<?php echo "https://prehrajto.cz/hledej/" . $post->post_title ."?cc=uga3bwln" ?>','prehraj

我能够复制功能弹出窗口(编码对我来说是地狱)。问题是每次你点击页面时。真烦人。作为初学者,我是否有可能只为网站打开一次窗口?这是一个wordpress页面。我插入身体的代码。 好的,谢谢你 这是我写的代码

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

是的,您可以使用cookies来完成

php具有处理Cookie的函数,主要是

**/ 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)一起使用,例如按会话、按用户、按天、按页面等。你要什么都行

Sidenote-wp有专用于使用Cookie的功能,主要用于身份验证和会话管理(默认情况下wp不会这样做)。查看以了解更多信息

旁注2 另外,关于你的代码。。。 将php保存在JS(或viceversa…)中是一种糟糕的做法。
wp实际上有一个非常重要的功能,如果你真的想学习php/wp-你最好现在就开始使用它

你可以使用部分javascript部分php

1) 基于Php的Cookie会话检查

2) Javascript:Cookie-基于本地存储的会话检查已完成,
我用一个带有z索引的css类做了一个弹出窗口,我插入了一个透明的图像作为外部链接,并在主体中插入了_blank和onclick。可能是不专业但功能性的

您是否尝试过检查日期,然后使用if语句查看日期是否正确,并将变量设置为true或1?如果页面再次加载,它将看到变量为1或true,并且直到第二天才会再次加载。不在电脑附近,所以不能再帮忙了。每次一次?还是对一个用户来说只有一次?@Bibberty-好问题。这个问题本身就应该指向解决方案Cookies每个会话只有一个。我在使用cookie连接当前代码时遇到问题。我试过这个,但不做‘代码’我知道你写了什么,但我不知道怎么做。我正处于这样一个阶段:我很高兴修改一些代码,并且它可以正常工作/最好进一步解释一下——您能为其中一种情况提供代码吗?
**/ 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 );
    }