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



お勧め

フィードにサムネイル画像を追加する(2022年11月1日 更新)

WordPressが出力するの標準のフィードには、各投稿のサムネイル画像の情報が含まれていない。ネットで検索してみるといくつかの方法があることがわかったので、その中から2つ試してみた。

投稿一覧に「投稿フォーマット」フィルターが追加される(2019年4月12日 更新)

WordPress 5.2 Beta2(以降5.2Beta2)のソースコードを眺めていると、投稿一覧ページのフィルター機能に「投稿フォーマット」(select要素)が追加されていた。

5.5の機能強化:コメントフォームのちょっとした改良(2020年8月12日 更新)

来月にリリースされるWordPress 5.5に向けてBeta 1、2、3と公開が続いている。「WordPress 5.5 Beta 3(以降Beta 3)」のソースコードを見ていくと、コメントフォームを表示する comment_form関数が機能拡張されていた。

Login rebuilderに「XML-RPC設定」を追加しました(2018年5月27日 更新)

公式サイトで公開しているプラグイン「Login rebuilder」をバージョンアップし、XML-RPCリクエストの管理機能を追加しました。Login rebuilderの主たる機能は、ログインページをサイト別にユニークなURLに変更し、ログインページへの不正アクセスを回避することです。WordPressのXML-RPCリクエストはピンバックや外部ツールやサイトなどとの連携に利用されていますが、今回追加した機能ではXML-RPCリクエストの処理に対していくつかの制限できるようにしています。

index.htmlでアーカイブページを表示させる(2011年10月14日 更新)

静的なサイトでは、各ディレクトリにindex.htmlファイルを置き、そのディレクトリの内容を紹介することが多い。WordPressで構築したサイトも同様にできないかと考え、試行錯誤してみた(こんなことを考えてるのは自分だけだろうか!?)。