wordpress教程:设定文章的显示时间期限或过期时间的标志

对于类似发布各种活动通知或到期时间内容的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;

?>

上面代码的作用是如果当前时尚没有超过设定的时间内容中就显示“进行中”,否则就显示“已过期”。


1、本网站名称:源码村资源网
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » wordpress教程:设定文章的显示时间期限或过期时间的标志
您需要 登录账户 后才能发表评论

发表评论

欢迎 访客 发表评论