Wordpress media загрузить дополнительное поле - PullRequest
0 голосов
/ 19 ноября 2010

Как сделать еще одно поле доступным на панели WordPress Media?

В настоящее время у вас есть все необходимые поля, хотя мне нужно добавить одно дополнительное, чтобы получить дополнительные сведения.

IЯ использую флэш-плеер, который ищет набор полей, в идеале я хотел бы, чтобы поле под названием video_url

Есть идеи?

Ответы [ 2 ]

1 голос
/ 19 ноября 2010

Я не уверен, как добавить дополнительное поле на панели мультимедиа ... но вы можете использовать Magic Field для создания загрузчика мультимедиа и дополнительного поля, которое будет содержать ваши дополнительные сведения ... Подробнее о Magic FieldПлагин здесь: http://wordpress.org/extend/plugins/magic-fields/

0 голосов
/ 25 ноября 2010

Придумали это решение.

function rt_image_attachment_fields_to_edit($form_fields, $post) {
    // $form_fields is a an array of fields to include in the attachment form
    // $post is nothing but attachment record in the database
    //     $post->post_type == 'attachment'
    // attachments are considered as posts in WordPress. So value of post_type in wp_posts table will be attachment
    // now add our custom field to the $form_fields array
    // input type="text" name/id="attachments[$attachment->ID][custom1]"
    $form_fields["rt-image-link"] = array(
        "label" => __("Video URL"),
        "input" => "text", // this is default if "input" is omitted
        "value" => get_post_meta($post->ID, "_rt-image-link", true),
            "helps" => __(""),
    );

    $form_fields["rt-video-link"] = array(
        "label" => __("Library Ref"),
        "input" => "text", // this is default if "input" is omitted
        "value" => get_post_meta($post->ID, "_rt-video-link", true),
            "helps" => __(""),
    );
    return $form_fields;
}
// now attach our function to the hook
add_filter("attachment_fields_to_edit", "rt_image_attachment_fields_to_edit", null, 2);

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']);
    }

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