如何按天更改POST中的文本(日期)

时间:2012-09-29 作者:menardmam

所以这个问题似乎不清楚,我重写了它,希望是最好的,并得到一些好主意。

我写了一篇WordPress的贴子(总是第一个在上面)。在那篇博文中有这样一句话:行动迅速,报名参加下一节课。下次日期:2012年9月10日。

但随着时间的推移,日期会发生变化,为了保持当前日期不变,日期必须发生变化。因此,我可以把一个日期列表,并根据今天日期的下一个日期自动更改发布日期(文本)。。。

什么php代码插件可以做到这一点。。。我认为shortcode可以做到这一点,但您的解决方法是什么?

--日期列表示例:

2012年9月10日-2012年9月30日-2012年10月5日-2012年10月22日-

<小时>Editors note: 为了澄清,这里有一个简短的解释OP的要求。

帖子有多个“日期”

1 个回复
最合适的回答,由SO网友:kaiser 整理而成

下面总结了您需要做的事情:

获取meta box library.the_content 筛选获取当前日期,检查自定义字段,在内容中附加日期这里是过滤器回调,它允许您附加您的;下一个日期:

function wpse66615_date_to_content( $content )
{
    $dates[] = get_meta_custom( get_the_ID(), \'THE_KEY/NAME_YOU_ADDED\', true );
    $dates[] = get_meta_custom( get_the_ID(), \'ANOTHER_KEY/NAME_YOU_ADDED\', true );
    // $date_c = ...

    // We need the current time to compare (UNIX timestamp)
    $today = current_time( \'timestamp\' );

    foreach ( $dates as $key => $date )
    {
        // Now get rid of all dates that already passed
        if ( $today > strtotime( $date ) )
            unset( $dates[ $key ] );
    }

    // We really ran out of dates...
    empty( $dates ) AND $dates[] = \'There is really no date left\';

    // Then take the first array item from our left dates
    $next_date = array_shift( $dates );

    // Then we append it to the content
    return $content."<br /><strong>Next date:</strong> ".$next_date;
}
add_filter( \'the_content\', \'wpse66615_date_to_content\' );
当你现在打电话的时候the_content();apply_filters( \'the_content\', get_the_content() );, 然后会得到如下输出:

Lorem ipsum dolor sit amet,consetetur sadipscing elitr,sed diam nonumy eirmod tempor invidunt ut laboure et dolore magna aliquyam erat,sed diam voluptua。在vero eos和accusam以及justo duo dolores和ea rebum。

Next date: d-m-Y

结束

相关推荐

通过PRE_GET_POSTS将POST_TYPE添加到查询,并使用无限滚动

我这里做错了什么。我正在尝试在所有实例中向主博客查询添加一个自定义的帖子类型,即外部视频。对于第一次加载的帖子,它在主博客页面中起作用,但在随后通过无限滚动加载的帖子中,自定义帖子类型被忽略。此后仅加载“常规”帖子。我正在使用无限滚动的wp插件版本。以下是我的功能:// add external-videos to the loop function add_external_videos_to_query( $query ) { if ( is_main_qu