wp_insert_post根据日期自动安排或发布

时间:2014-07-27 02:07:59

标签: php wordpress

<?php 
//today date 2014-07-27
$title="title";
$content="content";
$date="2014-07-30"; 

    $my_post = array(
        'post_title'        => $title,
        'post_content'      => $content,
        'post_status'       => 'post',
        'post_date'         => $date,
        'post_author'       => 1
    );
    $post_id = wp_insert_post( $my_post );
 ?>

如何在今天(或更早的日期)和明天的自动日程安排时发布自动发帖?

ps:对于今天(或更早的一天),也许该代码可以正常工作,但是如果我明天或第二天将日期设置为自动计划(如果可能,请提供示例代码)

更新问题:我的意思是如何让wp_insert_post在设置为未来的日期(下一天/下个月/明年或特定日期)发布日程安排,因为当我尝试设置&#39; post_date&# 39; =&GT; &#34; 2015年8月30日&#34;帖子保留今天日期的帖子我想要的是该帖子将创建为日程安排帖子

感谢

2 个答案:

答案 0 :(得分:1)

要测试日期是否明天,请尝试以下方法:

$tomorrow = date('Y-m-d', strtotime('tomorrow')); 

后天:

$day_after_tomorrow = date('Y-m-d', strtotime('tomorrow + 1 day'));

然后你可以测试$date

if ($date == $tomorrow) {
  echo "tomorrow";
} elseif ($date == $day_after_tomorrow) {
  echo "dayaftertomorrow";
}

更新回答:

基本上post_date用于发布帖子的时间,如果你想要黑客,我认为你需要以这种格式date[ Y-m-d H:i:s ]

答案 1 :(得分:0)

发布日期时间是[Y-m-d H:i:s],试一试:

<?php
$timezone_offset = get_option( 'gmt_offset' );
$post_date = date_create("2014-07-30");
$post_date_gmt = date_create("2014-07-30");
$post_date_gmt->add(new DateInterval("PT{$timezone_offet}H"));
//today date 2014-07-27
$title="title";
$content="content";
$date="2014-07-30"; 

$my_post = array(
  'post_title'        => $title,
  'post_content'      => $content,
  'post_status'       => 'post',
  'post_date'      => $post_date->format('Y-m-d H:i:s'), 
  'post_date_gmt'  => $post_date_gmt->format('Y-m-d H:i:s'), 
  'post_author'       => 1
);
$post_id = wp_insert_post( $my_post );
?>

享受您的代码