wordpress文章的顯示時間期限或過期時間的標誌

126雲發表於2021-02-19
對於類似釋出各種活動通知或到期時間內容的wordpress站點,也許會需要這樣一個功能:釋出活動內容的時候設定活動的到期日期,當活動還沒有 過期,網頁顯示“進行中”;當活動已過了設定的日期,網頁則顯示“已到期”或者不再顯示該文章。有了這個功能,wordpress站長就不需要每次在活動 過期後再編輯文章,實現的方法可以透過wordpress內建的自定義欄位。
建立日期自定義欄位:
欄位名稱使用:expiration
設定日期的格式必須是:mm/dd/yyyy 00:00:00 如:01/01/2015 00:00:00
修改主題模板:
編輯當前使用的wordpress模板,修改文章主迴圈程式碼:
 
<?php
if (have_posts()) :
while (have_posts()) : the_post();
$expirationtime = get_post_custom_values('expiration');
if (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}
$secondsbetween = strtotime($expirestring)-time();
if ( $secondsbetween > 0 ) {
?>
<div class="post" id="post-<?php the_ID();?>">
<h2><?php the_title();?></h2>
<div class="entry">
<?php the_excerpt();?>
</div>
</div>
<?php
}
endwhile;
endif;
?>
上面程式碼的作用是如果當前時間超過設定的時間,文章則不顯示。
編輯當前使用的主題模板,修改文章主迴圈程式碼:
 
<?php
if (have_posts()) :
while (have_posts()) : the_post();
?>
<div class="post" id="post-<?php the_ID();?>">
<h2><?php the_title();?></h2>
<div class="entry">
<?php the_excerpt();?>
<?php 
$expirationtime = get_post_custom_values('expiration');
if (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}
$secondsbetween = strtotime($expirestring)-time();
if ( $secondsbetween > 0 ) { 
echo '進行中';
}else {
echo '已過期';
}
?>
</div>
</div>
<?php
endwhile;
endif;
?>
上面程式碼的作用是如果當前時尚沒有超過設定的時間內容中就顯示“進行中”,否則就顯示“已過期”。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957453/viewspace-2757659/,如需轉載,請註明出處,否則將追究法律責任。

相關文章