web-dev-qa-db-fra.com

Comment utiliser le téléchargement de média sur la page d'option de thème?

Je souhaite implémenter le logo de téléchargement sur ma page d'option de thème. Actuellement, je suis ce code

Ce que j'ai fait pour l'instant charger une jquery associée pour le téléchargement de média

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

Question

Comment implémenter le formulaire de téléchargement en utilisant le téléchargement de média existant?

<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'); ?>" />

Je veux savoir

  1. Comment lier le bouton à media-upload.php
  2. Après avoir téléchargé l'image et cliqué sur le bouton Insert into Post du support, l'image sera placée dans le champ name="theme_options_upload"

Faites le moi savoir.

6
haha

Vous êtes le plus susceptible de sauvegarder l’URL de l’image et non le tag d’image en entier. Il existe un excellent tutoriel qui explique comment utiliser l’utilitaire de téléchargement de média dans votre propre thème ou plugin: http: //www.webmaster- source.com/2010/01/08/using-the-wordpress-uploader-in-your-plugin-or-theme/

mettre à jour

Si vous utilisez ceci dans une méta-boîte, vous aurez besoin de l'identifiant de la publication. Changez donc le code js de:

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;
});
8
Bainternet