ITPub博客

首页 > 云计算 > 虚拟化 > wordpress文章的显示时间期限或过期时间的标志

wordpress文章的显示时间期限或过期时间的标志

虚拟化 作者:126云 时间:2021-02-19 11:23:21 0 删除 编辑
对于类似发布各种活动通知或到期时间内容的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博客 ” ,链接:https://blog.itpub.net/69957453/viewspace-2757659/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
文章来自网络,如有侵害,请私信

注册时间:2019-12-14

  • 博文量
    344
  • 访问量
    257112