为什么wp_update_post会返回无效的帖子ID

时间:2017-01-14 21:14:43

标签: wordpress

我收到错误的WordPress wp_update_post()函数说“帖子ID无效”。这是我的代码:

$current_item = 273;
  $my_post = array(
      'ID'           => $current_item,
      'post_title'   => 'This is the post title.',
      'post_content' => 'This is the updated content.',
  );
$post_id = wp_update_post( $my_post, true );                          
if (is_wp_error($post_id)) {
    $errors = $post_id->get_error_messages();
    foreach ($errors as $error) {
        echo $error;
    }
}

提前致谢。

1 个答案:

答案 0 :(得分:5)

使用0,而不是'import_id'

如果您指定的ID上没有帖子,'ID'不会创建新帖子 - 它会返回错误。要指定新帖子的ID,请使用wp_update_post()

但是请注意,如果有一个包含该ID的帖子,'import_id' => $current_item将导致新帖子而不是更新。因此,如果您想要使用该ID创建新帖子或更新该ID的帖子,您需要import_id语句来选择您的密钥:

if

这是你闪亮的新代码。

$newPostKey = (get_post_status($current_item)) ? 'ID' : 'import_id';
// If there's a post with an ID of $current_item, we'll use 'ID'.
// Otherwise, use 'import_id'.