在WordPress 3.5中扩展新媒体上传器

时间:2012-12-04 作者:rzepak

在当前版本的WordPress中,使用attachment_fields_to_edit 过滤器,但为最新版本WordPress 3.5 RC2 它不起作用了。我们可以使用自定义元字段来扩展它,但使用它需要编辑媒体tb中的每个附件。我想知道是否可以在Attachment details 在带有媒体库的模式框中http://i.imgur.com/GIsJj.png (很抱歉有链接,但我无法添加图像,声誉不足;))

谢谢你的帮助。

2 个回复
SO网友:Rezen

可以通过挂接到将输入和字段添加到附件中attachment_fields_to_edit. 这将向模式编辑器和附件编辑器添加字段。我发现的问题是WordPress(如果有人经历过不同的PLMK)没有保存额外的字段数据,因此您必须连接到其他几个项目。

我添加了一个代码示例,让您了解可以做什么。

add_filter( \'attachment_fields_to_edit\', \'xf_attachment_fields\', 10, 2 );

function xf_attachment_fields( $fields, $post ) {

 $meta = get_post_meta($post->ID, \'meta_link\', true);
 $fields[\'meta_link\'] = array(
    \'label\' => \'More Media Management\',
    \'input\' => \'text\',
    \'value\' => $meta,
     // \'html\' => \'<div class="meta_link"><input type="text" /></div>\',
   \'show_in_edit\' => true,
 );
 return $fields;
}
add_filter( \'attachment_fields_to_save\', \'xa_update_attachment_meta\', 4);

function xa_update_attachment_meta($attachment){
  global $post;
  update_post_meta($post->ID, \'meta_link\', $attachment[\'attachments\'][$post->ID][\'meta_link\']);
}

add_action(\'wp_ajax_save-attachment-compat\', \'xa_media_xtra_fields\', 0, 1);
function xa_media_xtra_fields() {
  $post_id = $_POST[\'id\'];
  $meta = $_POST[\'attachments\'][$post_id ][\'meta_link\'];
  update_post_meta($post_id , \'meta_link\', $meta);
  clean_post_cache($post_id);
}

SO网友:eddiemoya

您应该仍然能够使用attachment\\u fields\\u to\\u edit,但是这些字段现在也添加到模式窗口中。通过使用“show\\u in\\u edit”或“show\\u in\\u model”参数,可以指示字段仅显示在模式中或仅显示在编辑页面上。两者都是布尔值,并且都默认为true。看看这张trac记录单,它解释了这种行为:http://core.trac.wordpress.org/ticket/22759#comment:1

您应该知道,它们现在似乎在类名中以“compat field”作为前缀。

结束

相关推荐

How to add a media with PHP

我的Web服务器上有1000多张图片,通过FTP上传到本地文件夹(/home/chris/pictures )有没有办法将它们作为众所周知的媒体添加到PHP中的wordpress中并获取它们的id?while ( $the_query->have_posts() ) : $the_query->the_post(); $post_id = get_the_ID(); $filemakerID = get_post_meta($post_id, \'filemak

在WordPress 3.5中扩展新媒体上传器 - 小码农CODE - 行之有效找到问题解决它

在WordPress 3.5中扩展新媒体上传器

时间:2012-12-04 作者:rzepak

在当前版本的WordPress中,使用attachment_fields_to_edit 过滤器,但为最新版本WordPress 3.5 RC2 它不起作用了。我们可以使用自定义元字段来扩展它,但使用它需要编辑媒体tb中的每个附件。我想知道是否可以在Attachment details 在带有媒体库的模式框中http://i.imgur.com/GIsJj.png (很抱歉有链接,但我无法添加图像,声誉不足;))

谢谢你的帮助。

2 个回复
SO网友:Rezen

可以通过挂接到将输入和字段添加到附件中attachment_fields_to_edit. 这将向模式编辑器和附件编辑器添加字段。我发现的问题是WordPress(如果有人经历过不同的PLMK)没有保存额外的字段数据,因此您必须连接到其他几个项目。

我添加了一个代码示例,让您了解可以做什么。

add_filter( \'attachment_fields_to_edit\', \'xf_attachment_fields\', 10, 2 );

function xf_attachment_fields( $fields, $post ) {

 $meta = get_post_meta($post->ID, \'meta_link\', true);
 $fields[\'meta_link\'] = array(
    \'label\' => \'More Media Management\',
    \'input\' => \'text\',
    \'value\' => $meta,
     // \'html\' => \'<div class="meta_link"><input type="text" /></div>\',
   \'show_in_edit\' => true,
 );
 return $fields;
}
add_filter( \'attachment_fields_to_save\', \'xa_update_attachment_meta\', 4);

function xa_update_attachment_meta($attachment){
  global $post;
  update_post_meta($post->ID, \'meta_link\', $attachment[\'attachments\'][$post->ID][\'meta_link\']);
}

add_action(\'wp_ajax_save-attachment-compat\', \'xa_media_xtra_fields\', 0, 1);
function xa_media_xtra_fields() {
  $post_id = $_POST[\'id\'];
  $meta = $_POST[\'attachments\'][$post_id ][\'meta_link\'];
  update_post_meta($post_id , \'meta_link\', $meta);
  clean_post_cache($post_id);
}

SO网友:eddiemoya

您应该仍然能够使用attachment\\u fields\\u to\\u edit,但是这些字段现在也添加到模式窗口中。通过使用“show\\u in\\u edit”或“show\\u in\\u model”参数,可以指示字段仅显示在模式中或仅显示在编辑页面上。两者都是布尔值,并且都默认为true。看看这张trac记录单,它解释了这种行为:http://core.trac.wordpress.org/ticket/22759#comment:1

您应该知道,它们现在似乎在类名中以“compat field”作为前缀。

相关推荐

使用自定义上载文件夹的Media_Handle_Upload?

我为阿凡达建立了一个自定义图像上传程序,我真的很喜欢media_handle_upload() 创建不同大小的图像。因为它们是化身,而不是帖子的数据,我不希望它们被放在默认的WordPress上传文件夹中。是否可以继续使用media_handle_upload() 同时定义自定义上载文件夹?