1. 程式人生 > >wordpress文章頁頂部新增過時提醒

wordpress文章頁頂部新增過時提醒

最終實現效果

在文章頁single.php檔案合適位置新增以下程式碼


<?
//原文轉載自:https://blog.mydns.vip/954.html
$getunix = get_post_modified_time('U');
$bj_date = 8*60*60; //時差
$days_old_sum = ((time() - $getunix + $bj_date));
$days_old = (($days_old_sum/86400));
$daynum = floor($days_old);
    if ($days_old > $old_message_time && !in_category(67) ) {
    echo '<div class="old-message">本文最後更新於'.get_post_modified_time('Y年n月j日').',已超過'.$daynum.'天沒有更新,如果文章內容失效,請反饋給我們,謝謝!</div>'; 
}
?>
//注意$days_old這個引數單位是天,根據自己需要修改

利用get_post_modified_time() 函式獲取文章的最後修改時間,'U'為時間戳。文章在釋出後進行過修改,比如修改標籤、內容等都會更新時間,但獲取到的時間戳是當前時間+8小時,即當前真實時間+時區,測試了好幾個都是一樣的效果,沒有找到有效方法。由於獲取到的修改時間戳多加了八小時,$days_old_sum減去修改時間時會多減8小時,所以定義了一個北京時區的時差$bj_date,再把$bj_date加上就是真實的時間,利用floor取整就是具體天數了。如果有誰知道直接獲取到正確的修改時間戳,煩請留言告知站長

在CSS裡面新增樣式

.old-message{padding:10px;color: #DB7C22;font-size: 16px;background: #FFFCEF;border: solid 1px #FFBB76;border-radius: 2px;box-shadow: 0 0 3px #ddd;margin:10px;}

樣式尺寸可以根據自己需要調整,完成以後就是上面的圖片效果,如果有什麼問題可以給站長留言。

其他:

如果只想在特定的分類顯示提示,比如只在 ID 為 8 的分類的文章顯示提示資訊,可以將if判斷語句修改為:

if($days_old > 365 && in_category(8) ){

是多個分類,比如在 ID 為 7、8、9的分類文章顯示提示資訊,可以使用陣列形式:

if($days_old > 365 && in_category(array(7,8,9)) ){

如果要排除某些分類,比如在 ID 為 7、8、9以外的分類文章顯示提示資訊,可在 in_category 前新增“!”

if($days_old > 365 && !in_category(array(7,8,9)) ){

轉載至https://blog.mydns.vip/954.html 有什麼問題可以找原作者。