説明
パラメータ
- $post_ID投稿IDを指定(省略時は0)。
- $post_categoriesカテゴリーIDを配列で指定(省略時はarray())。
返り値
設定したカテゴリーIDの配列を返す。設定できなかった場合は、エラー内容を示す WP_Errorのオブジェクトを返す。注意
指定したカテゴリーは投稿記事に設定された既存のカテゴリーをまるごと置き換えられる。追加したい場合は wp_set_object_terms関数を使用する。
なおパラメータ$post_categoriesにarray( '' )が指定された場合は、カテゴリーの設定は行わずにtrueを返す。
[5.5.0]'default_category_post_types'フィルターが追加され、カスタム投稿タイプの投稿情報にデフォルトカテゴリーが適用できるようになった。
使用例
- 投稿IDが100の投稿記事にカテゴリーIDが3のカテゴリーを設定する。<?php wp_set_post_categories( 100, array( 3 ) ); ?>
フィルター
[5.5.0]本関数のパラメータ$post_categoriesが空の場合に'default_category_post_types'フィルターを呼び出す。パラメータ$post_typesは空の配列が格納されている。$default_category_post_types = apply_filters( 'default_category_post_types', $post_types );
アクション
実行するアクションはありません。ソースファイル
/wp-includes/post.php最終更新 : 2020年08月20日 15:42
関連
お勧め
ブロックエディターの文字サイズ設定を変えてみる(2019年12月12日 更新)
今回は「前回投稿した内容」の続きブロックエディターの文字サイズ設定を変えようと思う。参考にするテーマはもちろん「Twenty Twenty」である。
the_date関数で投稿日を確実に表示する(2011年12月20日 更新)
投稿記事の投稿日時を表示する際、 the_date関数を使用することが多いだろう。このthe_date関数はphpのdate関数と同じパラメータを指定することで、好みの日時フォーマットで投稿日時を表示できるのだが、ある条件の場合に投稿日時を表示しない。最初にこの現象に遭遇したときは、ちょっと悩まされた。投稿内容に応じてwpautopを制御する(2013年8月13日 更新)
投稿内容を表示する the_content関数では、 wpautop関数がフィルターの1つとして呼び出され、改行をbrタグに変換したり、pタグで調整したりする。この機能自体は便利なのだが、きちんとデザインされたHTMLソースを流し込んだ場合はこの機能は好ましくない。そんなわけで、記事内容に応じてwpautop関数を制御できないか考えてみた。
xmlrpc.phpへのアクセスについてちょっと考えた(2018年5月27日 更新)
少し前のことですが、こちらのサーバーを何度かダウンさせてしまったのですが、その原因はxmlrpc.phpへアクセスが集中したことによってサーバーが過負荷となってしまったというものでした。すぐにサーバー性能を上げることはできないため、xmlrpc.phpのアクセスを全部拒否するという暫定対応してしまいました。
メディアライブラリに絞り込み用の「投稿タグ」を追加する(2014年6月24日 更新)
この記事は、先月投稿したコラム「メディア(attachment)を拡張してより便利に活用する」の続編。メディアで「投稿タグ」を追加するだけで「メディアライブラリ」ページの投稿一覧の中には「タグ」カラムが追加されるが、今回はその「投稿タグ」で絞り込み検索に対応してみる。