我有一个WordPress博客,在那里我只需要在每篇文章上显示一个图像,持续3周。这意味着3周后,自每篇帖子发布以来,图像将消失。
首先,我确保每次发布新帖子时都会显示该图像。这很容易。然后我需要得到每篇文章发表的日期,我使用the_time();
作用
我现在的问题是我不知道如何使用the_time();
函数可以执行任何操作(与当前时间比较,添加3周等)。
我试着用javascript实现这一点,使用这段代码,它可以输出当前日期和3周后的日期。
now = new Date();
threeweeksfromnow = new Date(now.getTime() + (21 * 24 * 60 * 60 * 1000));
months = new Array("January ","February ","March ","April ","May ","June ","July ","August ","September ","October ","November ","December ");
document.write("Today\'s date is: " + months[now.getMonth()] + now.getDate() + "<br>");
document.write("Three weeks from today is: " + months[threeweeksfromnow.getMonth()] + threeweeksfromnow.getDate() + "<br>");
我试图将此代码与
the_time();
wordpress中的函数,但它不起作用。有人知道我如何解决这个问题吗?
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
您应该使用get_the_time()
而不是the_time()
. 第一个返回时间,第二个回显时间。
但我认为你不应该在JS中这样做(没有必要,用户总是可以阻止JS并查看此图像)。
您的代码可能如下所示(在PHP中):
if ( strtotime( get_the_time(\'Y-m-d H:i:s\') ) + 21*24*60*60 > time() ) { // if post_time + 3 weeks is greater than current time
// show your image ( the_post_thumbnail() or antyhing else you want to do)
}