無作為
不僅僅是一種態度!

WordPress實現文章內容有更新提示附美化樣式|純代碼

wordpress通過代碼實現文章內容有更新提示,并且附帶美化樣式,配合之前分享的調用文章更新列表,就可以完美告訴用戶完美的文章更新了。

這里一共搜集了網上的幾種方法,大家可以選擇適合自己的一種。

方法一

將以下代碼加入到 functions.php 中:

function is_modified(){  
 
    global $post;  
    $punish_time = get_the_date('U');  
    $modified_time = get_the_modified_date('U');  
    $timetime = time();  
    if( ( $modified_time > $punish_time) && ( $time - $modified_time < 3600*24*7 )  )  
        return true;  
 
}

調用代碼:將以下代碼添加到你想要顯示的地方調用即可。

<?php if( is_modified() ) : ?>  
 本文內容有更新  
<?php endif;?>

效果如下:根據自己的喜好,美化一下效果可能更好哦。

方法二:

其實非常簡單,只需要在 function.php 添加一段代碼就可以了

//添加老文章提示信息
function old_content_message($content) {
$modified = get_the_modified_time('U');
$current = current_time('timestamp');
$diffTime = ($current - $modified) / (60 * 60 * 24);
 if ($diffTime > 365) {
$content = $content.'<div class="warn">本文最后更新于'.get_the_modified_time('Y年n月j日').
 ',已超過 1 年沒有更新,涉及的內容可能已經失效!</div>';
 }
 return $content;
}
add_filter('the_content', 'old_content_message');

如果你想該提示框出現在文章的開頭,則需要將代碼改下(將$content 放在提示后面)

//添加老文章提示信息
function old_content_message($content) {
$modified = get_the_modified_time('U');
$current = current_time('timestamp');
$diffTime = ($current - $modified) / (60 * 60 * 24);
 if ($diffTime > 365) {
$content = '<div class="warn">本文最后更新于'.get_the_modified_time('Y年n月j日').
 ',已超過 1 年沒有更新,涉及的內容可能已經失效!</div>'.$content;
 }
 return $content;
}
add_filter('the_content', 'old_content_message');

這里也給出美化的css樣式:請把下面代碼添加到主題的“style.css”文件當中。

.warn {
color: #ad9948;
background: #fff4b9 url(img/warn.png) -1px -1px no-repeat;
border: 1px solid #eac946;
overflow: hidden;
margin: 10px 0;
padding: 15px 15px 15px 35px;
font-size: 14px;
}

效果如下:

擴展說明

本功能使用了 WordPress 的 get_the_modified_time 函數,它可以獲得文章的最后修改時間,包括你對內容、標簽、置頂等信息的修改都會影響最后修改時間。第五行 60*60*24 是將計時單位(秒)轉化成(天),第六行>365 即最后修改時間大于一年的文章將會出現提示,你可以根據具體情況進行修改。另外我們還可以控制哪些文章顯示提醒,例如你只想讓 ID 為 8 的分類中的文章顯示提示信息,只需要將第六行代碼添加判斷條件即可,如下:

if($diffTime > 365 && in_category(13) ){

有些朋友講要在多個分類顯示怎么辦?如在 ID 為 13、14、15 的分類文章中提示:

if($diffTime > 365 && in_category(array(13,14,15)) ){

同理如果想排除某些分類,除了這些分類的文章都顯示提示信息,只需要在 in_category 前添加半角“!”既可,如不想讓 ID 為 8、9、10 的分類文章顯示提示信息,則修改第六行為

if($diffTime > 365 && !in_category(array(8,9,10)) ){
歷史上的今天:
贊(7) 打賞
所有免費資源、福利、電影、破解軟件未經允許不得轉載:www.btilnp.live無作為 » WordPress實現文章內容有更新提示附美化樣式|純代碼

留下評論 搶沙發

無作為-不僅僅是一種態度

登錄/注冊廣告合作

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞

广西风采快三