web-dev-qa-db-fra.com

Générer des images de dimension différentes lors du téléchargement du fichier image depuis la page de plugin personnalisée

Il y a une clause de téléchargement de fichier dans ma page de plugin personnalisée.

Sur ce point, j'enregistre les détails de l'image dans la table des publications en tant que type de publication attachment et déplace le fichier téléchargé manuellement. Voici mon code:

$wp_upload_dir = wp_upload_dir();
$filetype = $_FILES['img_name'];
$filename = $filetype['name'];
$attachment = array(
    'guid'           => $wp_upload_dir['url'] . '/' . basename( $filename ), 
    'post_mime_type' => $filetype['type'],
    'post_title'     => preg_replace( '/\.[^.]+$/', '', basename( $filename ) ),
    'post_content'   => '',
    'post_status'    => 'inherit'
);
$attach_id = wp_insert_attachment($attachment, $filename);
move_uploaded_file($_FILES['test_upload_pdf']['tmp_name'],$wp_upload_dir['path'].'/'.$_FILES['test_upload_pdf']['name']);

Existe-t-il un moyen alternatif pour move_uploaded_file() dans WordPress d’obtenir automatiquement les différentes dimensions de l’image donnée?

1
Tamilvanan N

Les différents ensembles d'images de dimension redimensionnés sont générés à l'aide des méthodes wp_generate_attachment_metadata et wp_update_attachment_metadata.

$absFilename = $wp_upload_dir['path'].'/'.$filename;
$attach_data = wp_generate_attachment_metadata( $attach_id, $absFilename);
wp_update_attachment_metadata( $attach_id, $attach_data );

Cela mettra à jour les détails de l'image dans la table wp_postmeta.

Merci @ DaveRomsey

1
Tamilvanan N