wordpress设定文章的显示时间期限或过期时间的标志
网站文章 2026-09-21 07:44:23 4 0

对于类似发布各种活动通知或到期时间内容的wordpress站点,也许会需要这样一个功能:发布活动内容的时候设定活动的到期日期,当活动还没有过期,网页显示“进行中”;当活动已过了设定的日期,网页则显示“已到期”或者不再显示该文章。有了这个功能,wordpress站长就不需要每次在活动过期后再编辑文章,实现的方法可以通过wordpress内置的自定义字段。

创建日期自定义字段:

方法一:WordPress 自定义字段 自定义域的使用方法

方法二:WordPress添加自定义字段栏目面板

字段名称使用:expiration

设定日期的格式必须是:mm/dd/yyyy 00:00:00 如:01/01/2015 00:00:00

修改主题模板:

编辑当前使用的主题模板,修改文章主循环代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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;
?>

上面代码的作用是如果当前时间超过设定的时间,文章则不显示。

编辑当前使用的主题模板,修改文章主循环代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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;
?>

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

文章说明
本文标签:
©版权声明
本站提供的一切软件、教程和游戏辅助仅限用于娱乐和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集,版权争议与本站无关。如有侵权请邮件与我们联系处理。敬请谅解!6594404@qq.com