2015-10-28 79 views
0

幾分鐘後unlogeduser我想實現像下面。登錄彈出在WordPress

我有一個網站,我在這裏建造http://ahsanurrahman.com/myprojects/cms/wp/chris-aa/pr1/

我想迫使訪問者登錄或使用5分鐘後或類似的自動退出,直到他們登錄或註冊永遠是一個彈出註冊。爲了實現這一點,我已經做了類似下面

<?php 
if ((is_single() || is_front_page() || is_page()) 
     && !is_page('login') && !is_page('register') && !is_user_logged_in()){ 

    echo'<div class="overlay-bg"> 
</div> 
<div class="overlay-content popup3"> 
    <h1>You must login or Register to view this site.</h1> 
</div>'; 
} 

?> 

爲了表明我使用Java的腳本1分鐘後,顯示如果用戶不logedin該彈出窗口。但是,如果他們刷新頁面彈出消失,並在1分鐘後再次來。

所以我想要做的是,我想1分鐘後顯示彈出每個訪問者,但要保留彈出仍然存在,直到他們登錄或永久他們甚至刷新其註冊。

感謝

+0

你應該看看[localStorage的(http://www.w3schools.com/html/html5_webstorage.asp)。基本上你需要做的是檢查用戶是否是新的。這可以通過在第一次訪問該網站時在客戶端的localStorage中設置一個值來實現。然後,在每次加載時,您都可以先檢查該變量是否存在,並決定何時顯示彈出窗口。 Cookies也是一種選擇,但對於這種情況,我會說localStorage是一個很好的選擇。不依靠這些,在純JavaScript中,您將無法知道用戶是否曾在那裏,每一次加載頁面時都會重置所有內容。 – 1cgonza

+0

如何在我的代碼plz中設置該值。 plesae提的是,如果我必須將其設置在JavaScript或php –

+0

這會在你的JavaScript,請按照上手在我以前的評論的鏈接。如果您決定使用本地存儲,給它一個去,如果它不工作,更新你的問題,我敢打賭,你可以得到你所需要的幫助。 – 1cgonza

回答

0

我從我自己和我的朋友的幫助下回答.The餅乾應該設置如下圖所示

<?php 
setcookie("visited",true); 

if(!empty($_COOKIE['visited']) && $_COOKIE['visited'] == true) 
$popup_time = 0; 
else 
$popup_time = 60000; 
?> 

這裏$ popup_time變量被設置爲函數的JavaScript代碼像下面

setTimeout(function() { 
     // Show popup3 after 2 seconds 
     showPopup(3); 
    }, <?php echo $popup_time?>); 

就是這樣:)。我很沮喪,沒有人在這裏給我一個正確的方法。

反正感謝