2010-06-22 12 views
1

Je viens d'ajouter une nouvelle taille de vignette Wordpress en utilisant l'appel add_image_size, mais maintenant toutes les photos que j'ai déjà téléchargées ne sont pas de la bonne taille. Si je les demande, tout ce que je reçois est l'image originale avec les attributs width et height correctement définis.Thème Wordpress: création de force de la taille des vignettes nouvellement créé

Comment puis-je forcer la création de ce pouce, en enregistrant les données dans la base de données, avec un ID de pièce jointe?

Veuillez noter que je souhaite effectuer une opération d'administration simple ou exécuter du code à partir d'un fichier de thème.

+2

Essayez le plug-in [Régénérer Diaporama] (http://wordpress.org/plugins/regenerate-thumbnails/). –

Répondre

0

Je ne sais pas s'il y a une opération à faire de l'administrateur, mais je peux exécuter ce code à partir d'un fichier thème:

require(ABSPATH.'wp-admin/includes/image.php'); 
$file = str_replace('http://www.example.com/', ABSPATH, $attachment->guid); 
wp_update_attachment_metadata($attachment->ID, 
    wp_generate_attachment_metadata($attachment->ID, $file)); 

recréant toutes les tailles de pouce à la fois (n » Je ne sais pas si ceux qui ont déjà été créés le sont aussi, mais c'est une exécution de code unique).

Vous devez remplacer "www.example.com" par votre URL et votre pièce jointe $ avec une structure de pièce jointe réelle, récupérée avec get_post ou similaire.

0

Ceci est le bogue #13947. Au lieu de the_post_thumbnail() utiliser ce code dans votre thème jusqu'à ce que le bug est corrigé:

the_post_thumbnail(
    array (150, 150), // size 
    array ('class' => 'attachment-post-thumbnail') 
); 
+0

Désolé, vous n'avez pas compris le problème. Je n'ai pas besoin de la vignette de la publication, mais de toutes les images de la publication à une taille spécifiée, qui ont été spécifiées après le téléchargement. Je les utilise pour un gabarit codé personnalisé pour une galerie d'images. Merci pour votre réponse de toute façon. – iBobo