2010-07-14 11 views
4

Existe-t-il un moyen d'insérer un (ou plusieurs) champ de téléchargement sur une page d'édition de type de publication personnalisée? Je ne veux pas utiliser la galerie midia avec tous les champs et d'autres choses.Type de publication personnalisée WordPress 3.0 avec téléchargement

+0

Pouvez-vous élaborer un peu plus? Qu'est-ce que vous n'aimez pas dans la galerie média? – TheDeadMedic

+0

J'ai besoin d'un champ de téléchargement sur la page parce que je veux simplifier, l'utilisateur n'a pas besoin de remplir complètement le formulaire de la galerie multimédia, joindre la pièce jointe ... Je veux juste télécharger le fichier et avoir le fichier , pas nécessairement un post (sur la table des messages) –

Répondre

8

Ceci est un exemple assez basique, mais il devrait vous mettre en route;

function my_upload_field() 
{ 
    echo '<input type="file" name="my_upload_field" />'; 
} 
add_action('init', create_function('', 
    'add_meta_box("my_upload_field", "Upload File", "my_upload_field", "post");')); 

function handle_upload_field($post_ID, $post) 
{ 
    if (!empty($_FILES['my_upload_field']['name'])) { 
     $upload = wp_handle_upload($_FILES['my_upload_field']); 
     if (!isset($upload['error'])) { 
      // no errors, do what you like 
     } 
    } 
} 
add_action('wp_insert_post', 'handle_upload_field', 10, 2); 

Vérifiez le codex sur add_meta_box, et jeter un oeil à wp_handle_upload() (ligne 239 wp-admin/includes/file.php à partir de 3.0) pour plus d'informations.

+0

C'est tout ... Merci! –

+0

Une idée pourquoi, quand j'utilise votre code, il me dit que add_meta_box n'est pas défini. Est-ce que init est trop tôt pour l'utiliser dans mon fichier functions.php? –

+0

Essayez 'admin_init' à la place? – TheDeadMedic

Questions connexes