wordpress wp_update_post -使用自定义字段更新自定义post_type

yk9xbfzb  于 2023-05-12  发布在  WordPress
关注(0)|答案(2)|浏览(200)

如何更新自定义post_type自定义字段?是否可以使用wp_update_post
在这个函数的参数中,我找不到post_typewp_update_post是正确的函数吗?谢谢你的帮助提前。
我有自定义帖子类型crb_expense。我想更新它的标题,内容,自定义字段和分类与它有关。在这里,我只是测试它是否只对标题和内容起作用:

if ( isset( $_GET['edit'] ) && $_GET['edit'] != 0 ) {
    wp_update_post( [
        'ID'           => $_GET['edit'],
        'post_type'    => 'crb_expense',
        'post_title'   => 'This is the new post title.',
        'post_content' => 'This is the new updated content.',
    ] );
}

.**$_GET ['edit']**包含 AJAX 请求发来的文章的id。我检查过了,ID是正确的。

pgky5nke

pgky5nke1#

wp_update_post是基于$post对象工作的,所以请检查下面的代码,如何使用自定义字段编辑特定的自定义文章类型。
仅更新文章标题和内容

$post_id =1;

  // Update post 1
     $my_post = array(
      'ID'           => $post_id ,
      'post_title'   => 'This is the post title.',
      'post_content' => 'This is the updated content.',
     );

    // Update the post into the database
    wp_update_post( $my_post );

更新帖子 meta

update_post_meta( $post_id, $meta_key, $meta_value, $prev_value );

因此,使用一个功能,你不能编辑文章标题,内容和 meta以及。如果你想编辑任何自定义字段,那么你必须使用update_post_ meta函数。
这对我来说很有用,我希望它也能帮助你。

6fe3ivhb

6fe3ivhb2#

这对我也有效

$my_post = array(
  'ID'           => $post_id ,
  'post_title'   =>  $title,
   'meta_input' => array(
          '_joelsa_dev_email' => $email,
          '_joelsare_Personalstatement' => $personalstatement,
          '_joelsa_dev_current_job' => $currentjob,
          '_joelsa_dev_experience' => $experience,
          '_joelsa_dev_relocate' => $relocate,
          '_joelsa_dev_telephone' => $telephone,
          '_joelsa_dev_github' => $github,
          '_joelsa_dev_linkedin' => $linkedin,
          '_joelsa_dev_country' => $country,
          '_joelsa_dev_cv' => $cvurl,
            ),
 );

// Update the post into the database
wp_update_post( $my_post );

相关问题