web-dev-qa-db-ja.com

Media-upload.phpでアップロードした画像ごとにカスタムメタを追加できますか?

コンテンツエディタ内でカスタムアイコンをクリックしてmedia-upload.phpを呼び出していますが、カスタム関数からmedia-upload.phpが呼び出されたときにアップロードされるすべての画像にカスタムメタ値を追加したいと思います。

たとえば、アップロードされた各画像について、次のように_customAttachment = 1のwp_postmetaに値を挿入します。

update_post_meta($post['ID'], '_customAttachment', true);

どのようにして現在のpost-idをmedia-upload.phpに(クエリ文字列パラメータを介して)渡すことができるかはわかっていますが、私のupdate_post_metaフィルタをmedia-upload.phpの保存/アップロードトリガーに追加する方法はわかりません

このためのフィルタはありますか?

2
Scott B

はい、あなたはフィールドを追加することができます、例

function rt_image_attachment_fields_to_save($post, $attachment) {
    // $attachment part of the form $_POST ($_POST[attachments][postID])
        // $post['post_type'] == 'attachment'
    if( isset($attachment['rt-image-link']) ){
        // update_post_meta(postID, meta_key, meta_value);
        update_post_meta($post['ID'], '_rt-image-link', $attachment['rt-image-link']);
    }
    return $post;
}
// now attach our function to the hook.
add_filter("attachment_fields_to_save", "rt_image_attachment_fields_to_save", null , 2);

この投稿についての詳細を参照してください

5
bueltge