簡體   English   中英

PHP setcookie()函數無法在Wordpress模板文件中使用

[英]PHP setcookie() function not working in Wordpress Template File

我正在使用此代碼在wordpress站點中設置cookie。 當我將此代碼放在header.php中時,它完美地運行。 但是,當我將此代碼放在單獨的模板文件中時,它不起作用。 頭文件代碼:(在HTML標記之前)

if (isset($_COOKIE['City'])) {
setcookie('City', 0, -(3600*3600*3600));
setcookie('City', "Edmonton2", 3600*3600*3600);
}
else {
setcookie('City', "Edmonton", 3600*3600*3600);
}

WP模板文件代碼:(代碼在get_header()函數之前)

<?php 
if (isset($_COOKIE['City'])) {
setcookie('City', 0, -(3600*3600*3600));
setcookie('City', "Edmonton2", 3600*3600*3600);
}
else {
setcookie('City', "Edmonton", 3600*3600*3600);
}
?>
<?php
/*
    Template Name: Community Landing Page
*/
get_header(); ?>

任何幫助將受到高度贊賞。 感謝和問候

輸出開始后,您無法設置cookie。 Cookie和所有其他HTTP標頭信息只能在輸出開始之前設置。 輸出可以表示從PHP標記之前的空白空間到實際的HTML內容。

你不應該把餅干放在體內。 所有邏輯都應在開始輸出模板之前完成。

問題是我沒有提到函數中的路徑。 代碼正在為特定頁面創建cookie。 這是更正后的功能:

setcookie('City', "Edmonton43003", (time()+3600), "/");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM