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



お勧め

常時SSL接続に変更しました(2018年5月27日 更新)

先週末、本サイトを常時SSL接続に変更しました。本サイトは「さくらのVPS」(CentOS 6系、Apache 2.2系)上にWordPressのマルチサイト機能を使って構築しており、無償で使用できる「Let's Encrypt」を使って常時SSL接続に切り替えた手順をメモとして残しそうと思います。

さくらのVPSでKUSANAGI#2(2018年5月27日 更新)

今回は「前回」の続き。さくらのVPS(メモリー2GB SSDプラン)でパフォーマンスをApacheのabコマンドで確認してみた。はてさて、うたい文句通りのパフォーマンスは発揮するのだろうか。

Slightly troublesome permalink:プラグイン作ってみました(2017年12月17日 更新)

カテゴリーを含んだパーマリンクを設定している場合、複数のカテゴリーを指定した投稿記事のパーマリンクのURLに目的のカテゴリーとは異なるカテゴリーが適用された経験はないだろうか。このプラグインは、パーマリンクに適用されるカテゴリーをコントロールし、希望通りのパーマリンクを設定します。

Paste JSON text:プラグイン作ってみました(2019年11月19日 更新)

動作検証用のサーバーと本番サーバーで投稿データの同期作業(コピー&ペースト)を支援するプラグインです。動作検証用のサーバーで投稿記事をJSONテキストに変換してクリップボードにコピー。本番サーバーの新規投稿ページでクリップボードにコピーしたJSONテキストをペーストして、投稿記事のコピー&ペーストを実現します。複数サーバー間で投稿記事の同期を行っている方は、お試しあれ。

プラグインがロードされた直後に何かする(2019年3月11日 更新)

5.1.0の変更箇所を見ていくとプラグインのロード毎にアクションが実行される仕組みが追加されていた。このアクションの使いどころを考えてみた。