問題描述
我有一個自定義的帖子,其中有一個元標記需要使用文件上傳 (視頻文件) 。我想知道,添加指向 WordPress 媒體上傳器的”Upload” 按鈕的正確方法是什麼,並將所選上傳的文件的 URL 設置為導致上傳按鈕關聯的文本字段。
我不是在尋找創建實際元標記選項的代碼,而是為了正確添加 Wordpress 媒體上傳按鈕。
最佳解決方案
看這個 media uploader skeleton 。您還可以在自定義標記中使用它,如 Meta Box 。
提示,檢查,您只使用頁面上的腳本,您在哪裏活動您的元框。否則通常是默認頁面和上傳者的問題。
現在嘗試清除重要的部分,將上傳者包含在您的自定義部分中。
首先在元框中包含一個按鈕:
<input id="upload_image" type="text" size="36" name="upload_image" value="" />
<input id="upload_image_button" type="button" value="Upload Image" />
現在排隊腳本:
function my_admin_scripts() {
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
wp_register_script('my-upload', WP_PLUGIN_URL.'/my-script.js', array('jquery','media-upload','thickbox'));
wp_enqueue_script('my-upload');
}
function my_admin_styles() {
wp_enqueue_style('thickbox');
}
// better use get_current_screen(); or the global $current_screen
if (isset($_GET['page']) && $_GET['page'] == 'my_plugin_page') {
add_action('admin_print_scripts', 'my_admin_scripts');
add_action('admin_print_styles', 'my_admin_styles');
}
最後一部分是您的自定義腳本,以使用此框中的 thickbox 和 uploader 。
jQuery(document).ready( function( $ ) {
$('#upload_image_button').click(function() {
formfield = $('#upload_image').attr('name');
tb_show( '', 'media-upload.php?type=image&TB_iframe=true' );
return false;
});
window.send_to_editor = function(html) {
imgurl = $('img',html).attr('src');
$('#upload_image').val(imgurl);
tb_remove();
}
});
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。