javascript - 外部弹出 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 时遇到问题。我迷路了 。
解决方案
是的,您可以使用 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 - 你最好现在就开始使用它
推荐阅读
- python - python中二维数组的初始化
- sql - 如何在 ms 访问中获取最后一个非空列
- python - 在嵌入python的discord中显示python sleep函数的倒计时
- python-3.8 - 如何打印一个列表和一个 int 并排
- python - Python 在运行前检查自己的代码(使用错误)
- msxml6 - MSXML 版本从 4 更新到 6
- c - 如何使用 pthreads 从 C 中的另一个线程安全地修改字符串?
- wpf - WPF:如何创建像“Telerik UI for WPF”这样的 UI 库?
- python - 具有定义函数的等高线图,其中输入为向量
- macos - 如何在 swift 和 Hal 驱动程序编写的应用程序之间共享数据