是否要为附件自定义字段?

时间:2011-04-11 作者:v3nt

是否可以通过函数添加额外字段。wordpress中附件的php脚本?

尝试了大量的例子,但似乎没有一个奏效。担心现有的插件可能会影响我的尝试,但不清楚这是否可能。

最好的,丹。

4 个回复
最合适的回答,由SO网友:Dave Romsey 整理而成

Here 是一个教程,介绍如何将自定义字段添加到附件/媒体库/thickbox/iframe/您称之为覆盖的内容。

我已经成功地使用了它,但还没有进一步添加单选按钮/复选框等,也没有将更改限制在特定的帖子类型上,但这一切看起来也是完全可行的。

以下是上面链接中的代码,以防有一天它消失:

1) “attachment\\u fields\\u to\\u edit”:我们将在此挂钩上附加一个函数,用于向媒体库添加自定义字段。

/* For adding custom field to gallery popup */
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" => __("Custom Link"),
        "input" => "text", // this is default if "input" is omitted
        "value" => get_post_meta($post->ID, "_rt-image-link", true),
                "helps" => __("To be used with special slider added via [rt_carousel] shortcode."),
    );
   return $form_fields;
}
2)“attachment\\u fields\\u to\\u save”:这将依次接受并保存用户输入。

// 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\']);
    }
    return $post;
}
// now attach our function to the hook.
add_filter("attachment_fields_to_save", "rt_image_attachment_fields_to_save", null , 2);

SO网友:Philip

这是一个很好的教程(包含源文件),解释了如何为图像、附件、文本区域添加自定义字段。。。以及您的帖子可能需要的所有其他内容。

http://www.deluxeblogtips.com/2010/05/howto-meta-box-wordpress.html

SO网友:Chip Bennett

您需要使用update_post_meta() (Codex) 功能:

<?php update_post_meta($post_id, $meta_key, $meta_value, $prev_value); ?>

你想做什么,那是行不通的?

SO网友:fuxia

您可以在问题的答案中找到很好的示例代码:How can I add a URL field to the attachments window?

结束

相关推荐

如何向这个Metabox代码添加选择菜单?

我正在使用一个元盒脚本,它非常适合绝对控制元盒字段的设计和放置。有一个问题:我不记得在哪里找到了脚本,需要添加一个选择框。此脚本不像大多数metabox脚本那样使用数组。我可以使用什么函数成功添加选择框?// Add the Inventory Meta Boxes function add_inventory_metaboxes() { add_meta_box(\'inventory_information\', \'Inventory Information\',