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



お勧め

日本語名のユーザーを登録する(2018年5月27日 更新)

標準のログインID(ユーザー名)は、英数字と一部の記号の組み合わせで構成されている。一般的なシステムのログインIDはおおむねこんな感じだが、ふと「インターネット環境ならログインIDに日本語が使用できてもいいんじゃないか」と思い、実現できるか調べてみた。

query_posts(WP_Queryクラス)でカテゴリーを絞り込む(2011年9月14日 更新)

久しぶりに query_posts関数を見直してみると、見知らぬパラメータがいくつか追加されていた。気になったのでカテゴリー関係の指定を'tax_query'パラメータを交えて整理してみた。

wp_titleからwp_get_document_titleへ(2018年5月27日 更新)

先週、WordPress 4.4 beta1(以降4.4 beta1)が公開されました。この4.4 beta1では新テーマ「Twenty Sixteen」が追加されたほか、wp-includesディレクトリ以下のファイルが大幅に変更された感じです。

投稿ページでユニークなテンプレートを選択しよう(2018年5月27日 更新)

4.7の変更点に「投稿タイプテンプレート」がある。これは従来固定ページ('page')向けに任意のテンプレートを適用できる機能が拡張されたもので、投稿ページ('post')はもちろんカスタム投稿タイプのページにも適用可能になっている。

同じ名前のメタ情報をまとめて削除する(2014年3月21日 更新)

WordPressには、投稿情報、コメント情報、ユーザ情報のそれぞれを拡張できるメタ情報の仕組みが用意されている。投稿情報のメタ情報は「カスタムフィールド」として投稿画面に用意されているので投稿者自身が随時操作できるほか、テーマやプラグインからの操作も容易である。今回の中身はそんなメタ情報の一括削除の話だ。