wp_update_post()


関数 WordPresswp_update_post()は、投稿またはページの内容を更新するために使用されます。この関数を利用することで、特定の投稿の内容、タイトル、ステータスなどをプログラム的に編集できます。

シンタックス

wp_update_post( array $postarr, bool $wp_error = false );

引数の説明:

  • $postarr (array) — 更新する投稿の情報を格納した連想配列。以下は主要なキーのリストです:
    • 'ID' — 更新対象の投稿ID (必須)。
    • 'post_title' — 更新後の投稿タイトル。
    • 'post_content' — 更新後の投稿本文。
    • 'post_status' — 新しい投稿ステータス (例: ‘publish’, ‘draft’)。
  • $wp_error (bool) — エラーが発生した場合にWP_Errorオブジェクトを返すかどうか (デフォルトはfalse)。

例1: 投稿タイトルを更新する

指定された投稿のタイトルを変更します。

wp_update_post( array( 'ID' => get_the_ID(), 'post_title' => '新しいタイトル' ) );

例2: 投稿内容を更新する

投稿本文を更新します。

wp_update_post( array( 'ID' => get_the_ID(), 'post_content' => '新しい内容です。' ) );

例3: 投稿のステータスを下書きに変更する

公開済みの投稿を下書きに戻します。

wp_update_post( array( 'ID' => get_the_ID(), 'post_status' => 'draft' ) );

例4: カスタムフィールドを含めて更新する

カスタムフィールドを含めた投稿情報の更新を行います。

wp_update_post( array(
    'ID' => get_the_ID(),
    'post_title' => 'カスタムフィールド付き更新',
    'meta_input' => array( 'custom_field_key' => 'カスタム値' )
) );

例5: 投稿の更新時にエラーハンドリングを行う

更新時にエラー発生時の対応を行います。

$result = wp_update_post( array( 'ID' => get_the_ID(), 'post_content' => '更新された内容' ), true );
if ( is_wp_error( $result ) ) {
    echo 'エラー: ' . $result->get_error_message();
}

注意事項

  • $postarr'ID'キーを必ず指定してください。指定がない場合、新しい投稿が作成されます。
  • 更新前に、投稿の権限を確認することを推奨します。

関連機能: