如果cookie不存在,则显示视频

时间:2012-02-15 20:58:15

标签: php wordpress if-statement

只是一个警告,我对PHP和编码一般都是新手,所以请耐心等待。

以下是我尝试做的事情: 我们公司的wordpress网站(http://www.vectormedia.com)使用灯箱在主页加载时显示视频。我想这样做,以便在过去一周内访问过该网站时,该视频将不会显示。

这是我的代码:

在我的wordpress主题的header.php的最顶部是创建cookie的功能:

<?php
function cookies() //Sets cookie function for video
{
$expire = time()+60*60*24*7; //cookie expiration (7days)
setcookie("video", "vector", $expire);
}
?>

这是将加载嵌入灯箱中的视频的变量(也位于header.php中):

<?php
//defines javaload as lightbox script with embeded video
$javaload = '<script type="text/javascript">
jQuery(document).ready(function(){

jQuery.lightbox("https://www.vimeo.com/36697123");

});
</script>'   
?>

这是位于footer.php中的If语句,用于检查cookie是否存在以及我们是否在主页上,如果为true,则加载视频并设置cookie:

<?php
if ( !isset($_COOKIE["video"])) && (is_front_page());
echo $javaload
echo cookies();
?>

问题是:

a)这段代码根本不起作用 b)它也破坏了我的子菜单翻转

我的问题是:

a)为什么这不起作用?
b)为什么它会破坏我的菜单?
c)有没有更好的方法来实现这一目标?

任何帮助将不胜感激,提前感谢。

2 个答案:

答案 0 :(得分:0)

分号后:

echo $ javaload

并删除if语句后的分号,如果只想在没有cookie时设置cookie,则使用{}作为if标记。

答案 1 :(得分:0)

应该是

<?php
if ( !isset($_COOKIE["video"] && is_front_page()) {
echo $javaload;
echo cookies();
}
?>

但是我不确定在这种情况下会触发灯箱你必须这样做吗

<script>
function play_video() {
jQuery.lightbox("https://www.vimeo.com/36697123");
}
</script>

然后更改$ javaload以回显play_video();