WordPress : Télécharger l’image du plugin personnalisé WordPress

Publié par Jean-Michel le

J’écris un plugin wordpress personnalisé qui permet à l’utilisateur de télécharger une image dans un dossier. Et j’ai un problème pour enregistrer l’image réelle dans un dossier.

Ceci est mon monplugin.php

add_action( 'admin_menu', 'register_my_custom_menu_page' );

function register_my_custom_menu_page(){
    add_menu_page( 'Home Page', 'Home Page', 'manage_options', 'homepage', 'my_custom_menu_page', plugins_url( 'myplugin/images/icon.png' ), 6 ); 
}

function my_custom_menu_page(){
    echo '<h1>Settings</h1>';
    echo '<form method="post" action="process.php" enctype="multipart/form-data">';
    echo '<table>';

    echo '<tr><td>Image 1</td><td><input type="file" name="file1" size="40"></td></tr>';    
    echo '<tr><td></td><td><input type="submit" name="submit" value="Update" /></td></tr>';     
    echo '</table>';
    echo '</form>';
 }

Ceci est mon process.php, et je ne vois pas l’image dans mon dossier de téléchargement wp. S’il vous plaît aidez-moi!

move_uploaded_file($_FILES["cul_center"]["tmp_name"], wp_upload_dir().$_FILES["file1"]["name"]);

Solution n°1 trouvée

Vous n’avez pas besoin d’utiliser les fonctions natives de PHP pour cela.

WordPress fournit la fonction wp_handle_upload() pour gérer les téléchargements et les déplacer /uploads/year/month/explicitement.

Utilisation (dans votre cas):

require_once( ABSPATH . 'wp-admin/includes/file.php' ); // require file.php

$uploadedfile = $_FILES['file1']; // your file input

$upload_overrides = array( 'test_form' => false ); // you need to do this according to docs

$movefile = wp_handle_upload( $uploadedfile, $upload_overrides ); //let it handle uploads

if ( $movefile ) {
    echo "File is valid, and was successfully uploaded.n";
    var_dump( $movefile); // will print associative array of file attributes.
}

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *