Wp_INSERT_POST的POST_DATE格式正确吗?

时间:2011-12-22 作者:m-torin

使用从前端提交帖子时,定义帖子日期的正确方法是什么wp_insert_post (Trac)?

我的代码片段现在正在使用mysql时间发布。。。

if (isset ($_POST[\'date\'])) {
    $postdate = $_POST[\'Y-m-d\'];
}
else {
    $postdate = $_POST[\'2011-12-21\'];
}

// ADD THE FORM INPUT TO $new_post ARRAY
$new_post = array(
\'post_title\'    =>   $title,
\'post_content\'  =>   $description,
\'post_date\'     =>   $postdate,
\'post_status\'   =>   \'publish\',
\'post_parent\' => $parent_id,
\'post_author\' => get_current_user_id(),
);

//SAVE THE POST
$pid = wp_insert_post($new_post);

5 个回复
最合适的回答,由SO网友:Rob Vermeer 整理而成

如果您没有添加post\\u日期,WordPress会自动用当前日期和时间填充它。

设置其他日期和时间[ Y-m-d H:i:s ] 是正确的结构。下面是您的代码示例。

$postdate = \'2010-02-23 18:57:33\';

$new_post = array(
   \'post_title\'    =>   $title,
   \'post_content\'  =>   $description,
   \'post_date\'     =>   $postdate,
   \'post_status\'   =>   \'publish\',
   \'post_parent\'   =>   $parent_id,
   \'post_author\'   =>   get_current_user_id(),
);

//SAVE THE POST
$pid = wp_insert_post($new_post);

SO网友:JP Lew

要将日期转换为Wordpress(MySQL DATETIME)格式,请尝试以下操作:

$date_string = "Sept 11, 2001"; // or any string like "20110911" or "2011-09-11"
// returns: string(13) "Sept 11, 2001"

$date_stamp = strtotime($date_string);
// returns: int(1000166400)

$postdate = date("Y-m-d H:i:s", $date_stamp);
// returns: string(19) "2001-09-11 00:00:00"

$new_post = array(
    // your other arguments
   \'post_date\'     =>   $postdate
);

$pid = wp_insert_post($new_post);
当然,如果你真的想变得性感,可以这样做:

\'post_date\'     => date("Y-m-d H:i:s", strtotime("Sept 11, 2001"))

SO网友:kaiser

无法格式化$_POST[\'date\'] 像这样。。。您必须从运行值$_POST[\'date\'] 通过类似的方式$postdate = date( $_POST[\'date\'] )... 对于博客设置,也可以调用get\\u选项。参见《法典》中的选项参考。

SO网友:m-torin

对于社区,这里是我最后的工作代码:

收割台

$year = $_REQUEST[\'year\'];
$month = $_REQUEST[\'month\'];
$day = $_REQUEST[\'day\'];
$postdate =  $year . "-" . $month . "-" . $day . " 08:00:00";

$new_post = array(
    \'post_title\'    =>  $title,
    \'post_content\'  =>  $description,
    \'post_status\'   =>  \'publish\',
    \'post_author\'   =>  get_current_user_id(),
    \'post_date\'     =>  $postdate
);

SO网友:Nic Bug

通过谷歌找到的。我知道它很古老,但没有确切的答案。wordpress代码使用current_time( \'mysql\' ) 在wp\\u update\\u post功能中保存日期/时间!这将生成所需的日期格式。

结束

相关推荐