在指定时间后删除帖子

时间:2012-04-20 作者:Justin Lucas

伙计们,我要做的是在执行一系列函数和自定义代码之前,在代码中运行一系列if检查。其中一个if检查将检查帖子是否已经存在,如果已经存在,它将检查帖子的年龄,如果帖子超过48小时,它将删除该帖子并重新创建一个新帖子。

大意是:

global $wpdb;

if ( !is_user_logged_in())
   echo \'You must be logged in.\';

// check if title $my_post_name already exists in wpdb
else if ( is_user_logged_in()&& $wpdb->get_row("SELECT post_title FROM wp_posts WHERE post_title = \'" . $my_post_name . "\'", \'ARRAY_A\')) {

// then check age of the post? assign age to a variable?
  $time = age-of-post?

if $time >= 172800 // in seconds
code:  delete the post and create a new one 
else
$xtime = 172800 - $time;
echo \'You have already challenged\' .$character. \'within the last 48 hours. You can challenge\' .$character.\'again in\' .$xtime.\'.\';
我希望这有点道理。我的问题是,你如何获得帖子的年龄,是否有一个功能可以删除wordpress中已经存在的帖子?或者有没有一种更简单的方法可以让帖子在x个时间段后失效?

2 个回复
SO网友:developdaly

您可以使用wp_delete_post()get_the_date().

global $wpdb;

if ( !is_user_logged_in())
   echo \'You must be logged in.\';

// check if title $my_post_name already exists in wpdb
else if ( is_user_logged_in()&& $wpdb->get_row("SELECT post_title FROM wp_posts WHERE post_title = \'" . $my_post_name . "\'", \'ARRAY_A\')) {

// then check age of the post? assign age to a variable?
  $time = get_the_date();

if ( $time >= 172800 ) // in seconds
    wp_delete_post()
else
$xtime = 172800 - $time;
echo \'You have already challenged\' .$character. \'within the last 48 hours. You can challenge\' .$character.\'again in\' .$xtime.\'.\';

SO网友:MavBzh

我不知道你想做什么,但为什么不直接在请求中选择post\\u日期呢?

SELECT post_date FROM wp_posts WHERE ...
然后你应该能够test it in PHP (see this answer) 做你想做的事!

结束

相关推荐

在子主题中放置自定义PHP文件的位置?

我正在定制一个高级WP主题以更好地适应我的网站,但我不太清楚如何处理我定制的PHP文件。它们只是进入子主题文件夹的根目录吗?或者它们是否被放入与原始主题类似的文件夹层次结构中?如何确保使用子主题PHP文件而不是父主题PHP文件(例如header.PHP)?