问题描述

我想要实现上传标志到我的主题选项页面。目前我遵循 this code

我现在为了媒体上传加载了一个相关的 jquery

function load_only() {
    add_thickbox();
    wp_enqueue_script('jquery-option', get_template_directory_uri() . '/admin/js/jquery.option.js', array('jquery','media-upload','thickbox','jquery-ui-core','jquery-ui-tabs'), '1.0');
}

如何使用现有媒体上传实现上传表单?

<input id="theme_options_upload" type="text" name="theme_options_upload" value="<?php esc_attr_e( $options['theme_options_upload'] ); ?>" />
<input type="button" name="just_button" value="<?php esc_attr_e('Upload'); ?>" />

我想知道

  1. 如何将按钮链接到 media-upload.php

  2. 上传图片后,单击 media-upload 上的 Insert into Post 按钮,图像将放入字段 name="theme_options_upload"

让我知道。

最佳解决方案

您最有可能保存图像的 URL,而不是整个图像标签,而且还有一个很棒的教程,它解释了如何在自己的主题或插件中使用媒体上传器:http://www.webmaster-source.com/2010/01/08/using-the-wordpress-uploader-in-your-plugin-or-theme/

update

如果在元框中使用它,您将需要发布 ID,以便更改 js 代码:

jQuery('#upload_image_button').click(function() {
 formfield = jQuery('#upload_image').attr('name');
 tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true');
 return false;
});

jQuery('#upload_image_button').click(function() {
 formfield = jQuery('#upload_image').attr('name');
 post_id = jQuery('#post_ID').val();
 tb_show('', 'media-upload.php?post_id='+post_id+'&amp;type=image&amp;TB_iframe=true');
 return false;
});

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。