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



お勧め

3.6リリース直前チェック(2013年7月26日 更新)

$wpdbは、WordPressのデータベースにアクセスする際に使用できる便利なオブジェクト。独自テーブルの利用やデータ検索の最適化など、標準提供される関数では実現できないことを手助けしてくれる。そんな$wpdbのescapeメソッドが3.6で非推奨(deprecated)になる。

投稿ページにキーワード検索ウィジェットを追加する(2012年6月2日 更新)

「投稿の編集」ページで記事を編集していると、関連する投稿記事を検索したくなることがある。そんな時、「投稿一覧」ページに戻って「キーワード検索」を行えばいいのだが、そのひと手間がちょっとだけ煩わしい。

4.2の「アクティビティ」ウィジェットに投稿以外の情報も表示する(2018年5月27日 更新)

ダッシュボードの「アクティビティ」ウィジェットは「投稿(post)」の状況を表示し、固定ページ(page)やカスタム投稿タイプの投稿記事の状況については標準では表示されない。このことに対して以前『3.8の「アクティビティ」ウィジェットに投稿以外の情報も表示する』を紹介したのだが、4.2では新しいフィルターが追加され、カスタマイズが少し容易になった。

スマートフォン向けの振り分けを自前で行う(2012年1月23日 更新)

PC向けのサイトをスマートフォン対応する場合、WPtouchやktai styleに代表されるスマートフォン対応のテンプレート切り替えプラグインを使用するのが一般的。そういったプラグインはテンプレート切り替え以外の機能も備えており、そういった機能は必ずしも必要ではない。そんなわけで、ここでは超シンプルなスマートフォン向けのテンプレート切り替えを実現する方法を紹介する。

MOファイルを作ってみた(2018年7月25日 更新)

テーマやプラグインで使用するMOファイルはWindows環境では「Poedit」アプリを使うことが多かったが、最近では「GlotPress」のようなプラグインも増えてきており、選択肢は広がっている。定期的に開発環境を見直す過程で「Poedit」から「GlotPress」に切り替えようと思ったのだが、微妙にしっくりこなかった。