当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《为什么wp_update_post返回无效的帖子ID》经验,为你挑选了1个好方法。

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> 小智..:

使用'import_id',而不是'ID'

如果您指定的ID处没有帖子,wp_update_post()则不会创建新帖子-它会返回错误。为了指定新帖子的ID,请使用'import_id' => $current_item

但是请注意,如果有一个具有该ID的帖子,import_id将导致一个新帖子而不是更新。因此,如果您想使用该ID撰写新帖子或更新该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'.

这是您闪亮的新代码。

$current_item = 273;
$newPostKey = (get_post_status($current_item)) ? 'ID' : 'import_id';

$my_post = array(
    $newPostKey    => $current_item,
    'post_title'   => 'This is the post title.',
    'post_content' => 'This is the updated content.',
);
$post_id = wp_update_post( $my_post, true );

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有