wp_insert_attachment

説明

mixed wp_insert_attachment( mixed $args [ , string $file = false[ , int $parent = 0 [ , bool $wp_error = false ] ] ] )
メディア(添付ファイル)を登録する。

パラメータ

  • $args
    投稿情報を連想配列(または文字列)を指定。
  • $file
    添付ファイルのパス名を指定(省略時はfalse)。
  • $parent
    添付元の投稿IDを指定(省略時は0)。
  • $wp_error
    [4.7.0]エラー内容を示すWP_Errorオブジェクトを返す場合はtrueを指定(省略時はfalse)。

返り値

登録できた場合はメディアの投稿IDを返す。登録できなかった場合、パラメータ$wp_errorがtrueの場合は登録失敗内容を示すWP_Errorオブジェクトが、$wp_errorがfalseの場合は0を返す。

注意

メディア(添付ファイル)は投稿情報の1つであり、投稿タイプは'attachment'となる。パラメータ$parentが投稿IDの場合はその投稿情報の添付ファイルとして、$parentが0の場合は独立したメディアとして登録する。なおパラメータ$argsには標準の投稿情報のほかにキー'post_mime_type'でファイルのMIMEタイプを指定すること。

[4.7.0]パラメータ$wp_errorが追加され、trueを指定することで登録失敗時の理由を取得できるようになった。


使用例

  • ファイルを$post_idで示す投稿情報の添付ファイルとしてする。
    <?php $id = wp_insert_attachment( $attachment, $filepath, $post_id ); ?>
  • ファイルを$post_idで示す投稿情報の添付ファイルとしてする(登録失敗時にその情報を取得)。
    <?php $id = wp_insert_attachment( $attachment, $filepath, $post_id, true ); ?>
  • ファイルを独立したメディアとして登録する。
    <?php $id = wp_insert_attachment( $attachment, $filepath ); ?>

フィルター

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

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/post.php

最終更新 : 2018年05月27日 10:42



お勧め

子カテゴリのアーカイブページを親カテゴリ用のテンプレートファイルで表示しよう(2011年12月8日 更新)

少し前に投稿した「適切なテンプレートファイルを用意してテンプレート内の振り分け処理を無くす」で説明した通り、特定のカテゴリ専用のテンプレートとしてcategory-○○.phpを用意することで、category.phpやarchive.php内で振り分けを行う必要がなくなる。ただ、すべてのカテゴリ分を用意するのは効率的ではないし、特に子カテゴリについては親カテゴリと共通内容になるケースが多いのではないだろうか。ここでは、子カテゴリの個別テンプレートファイルを作らず、親カテゴリのテンプレートを利用する方法を紹介する。

投稿内容に応じてwpautopを制御する(2013年8月13日 更新)

投稿内容を表示する the_content関数では、 wpautop関数がフィルターの1つとして呼び出され、改行をbrタグに変換したり、pタグで調整したりする。この機能自体は便利なのだが、きちんとデザインされたHTMLソースを流し込んだ場合はこの機能は好ましくない。そんなわけで、記事内容に応じてwpautop関数を制御できないか考えてみた。

親子の固定ページで同じテンプレートを使う(2013年3月20日 更新)

固定ページのテンプレートファイルは「page.php」か、ページ名(スラッグ)または投稿IDを指定したテンプレートファイルになる。固定ページでページデザインが数パターンある場合、通常は「page.php」で振り分けることになるが、もう少しスマートにできないか考えてみた。

管理画面でツールバー(Admin bar)を非表示にする(2013年3月5日 更新)

WordPress使ってちょっと変わったサイトを構築する際、管理画面のツールバーを表示させたくないケースがある。一般に公開するサイト側であれば、 show_admin_bar関数で非表示にできるのだが、管理画面ではこれを使ってもツールバーは消えてくれない。

カスタムフィールド関連関数のおさらい(2012年6月22日 更新)

カスタムフィールドは、投稿記事の拡張情報としてよく利用されている。投稿ページで登録した情報をアーカイブや投稿ページで表示しているが、投稿ページを表示する際にカスタムフィールドの値を更新して、サイドバーのようなページ内要素に利用したりしている。