wp_publish_post

説明

void wp_publish_post( int | WP_Post $post )
投稿を公開する。

パラメータ

  • $post
    投稿IDまたは投稿情報。

返り値

返り値はありません。

注意

パラメータ$postが投稿情報以外か、その投稿情報がすでに公開されている場合は何もしない。

パラメータ$postが投稿情報が有効な投稿情報の場合、デフォルトのタクソノミーを設定してから投稿ステータスを'publish'に変更する。

[5.6.0]処理の最後に wp_after_insert_post関数を呼び出す。


使用例

  • 投稿を公開する。
    wp_publish_post( $post );

フィルター

直接実行するフィルターはありません。

アクション

[5.1.0]投稿ステータスを更新した後に"edit_post_{$post->post_type}"アクション(固定ページの場合ならedit_post_page)を呼び出す。パラメータ$post_idには投稿IDが、$postには投稿情報が格納されている。
do_action( "edit_post_{$post->post_type}", $post_id, $post );
[1.2.0]次にedit_postアクションを呼び出す。パラメータ$post_idには投稿IDが、$postには投稿情報が格納されている。
do_action( "edit_post", $post_d, $post );
[3.7.0]次に"save_post_{$post->post_type}"アクション(固定ページの場合ならsave_post_page)を呼び出す。パラメータ$post_idには投稿IDが、$postには投稿情報が、$updateにはtrueが格納されている。
do_action( "save_post_{$post->post_type}", $post_id, $post, $update );
[1.5.0]次にsave_postアクションを呼び出す。パラメータ$post_idには投稿IDが、$postには投稿情報が、$updateにはtrueが格納されている。
do_action( 'save_post', $post_id, $post, $update );
[2.0.0]次にwp_insert_postアクションを呼び出す。パラメータ$post_idには投稿IDが、$postには投稿情報が、$updateにはtrueが格納されている。
do_action( 'wp_insert_post', $post_id, $post, $update );

ソースファイル

/wp-includes/post.php

最終更新 : 2020年12月12日 16:11



お勧め

プラグインのロード順を制御する(2014年6月9日 更新)

これまでプラグインがどのような順番でロードされるか意識していなかったのだが、とある自作プラグインを他のプラグインよりも先にロードさせたくなったので調べてみた。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。

メタボックスをクラシックエディターのみで表示する(2019年1月15日 更新)

投稿画面向けにメタボックスを使ったプラグインがあり、それがブロックエディターで意図した通りに機能しなかった。この対処方法を考える過程でエディタータイプに応じてメタボックスを出し分けできる方法が見つかったので紹介したい。