comment attribuer une image dynamiquement dans un post wordpress

Publié par Jean-Michel le

Je développe un site wordpress. J’y ai fait un post. Maintenant, je veux attribuer une image dans ce message. Pour cela, j’ai téléchargé une image dans les médias et joint cette image à mon message.

mais comment puis-je attribuer cette image téléchargée dans mon message ? dois-je donner le chemin manuellement? ou je peux donner un chemin dynamique pour que même si je télécharge ce site sur le serveur ou que je change le nom du dossier principal, le chemin est modifié automatiquement.

toute aide sera appréciée .. merci

Solution n°1 trouvée

Vous devriez envisager d’utiliser des vignettes de publication (également appelées images en vedette) dans vos publications. Pour ce faire, il vous suffit d’ajouter ce qui suit à votre fichier functions.php :

add_theme_support('post-thumbnails');

Cela ajoutera un contrôle dans votre éditeur de publication pour ajouter une image en la téléchargeant ou en définissant l’URL, « joignant » efficacement votre image à votre publication de la manière que vous recherchez. Pour afficher l’image dans votre modèle :

<?php
if(have_posts()) : while(have_posts()) : the_post();
    if(has_post_thumbnail())
        echo '<div class="post_thumb">'.get_the_post_thumbnail().'</div>';
?>
<div class="post_content"><?php the_content(); ?></div>
<?php
endwhile;endif;
?>

En ce qui concerne la modification des noms de dossier, des chemins, etc., vous devez être prudent avec cette approche. N’oubliez pas que vous donnez un chemin à un actif. Le serveur ne sait pas ce que VOUS voulez, seulement ce que votre code demande. Si vous vous attendez à changer un peu les chemins vers vos actifs, vous pouvez toujours renoncer aux Post Thumbnails au profit de conventions de dénomination intelligentes. Quelque chose comme ça:

<?php
if(have_posts()) : while(have_posts()) : the_post();
$imgPath = get_bloginfo('stylesheet_directory').'/images/featured_'.$post->post_name.'.jpg';
?>
<div class="post_thumb"><img src="<?php echo $imgPath; ?>" /></div>
<div class="post_content"><?php the_content(); ?></div>
<?php
endwhile;endif;
?>

Cela recherche une image dans le dossier d’images de votre répertoire de thèmes nommé feature_{post_slug}.jpg

Les avantages de cette approche sont que WordPress saura toujours où se trouve votre dossier de thème, quels que soient les changements d’URL. Tant que vous avez un dossier d’images dans votre répertoire de thèmes, WordPress saura où chercher.

L’inconvénient est que ce code ne vérifie pas spécifiquement l’EXISTENCE de l’image avant de l’afficher, ce qui pourrait conduire à des images cassées si elles ne sont pas nommées correctement ou n’existent pas du tout. Cette approche nécessite également l’utilisation d’une extension de fichier

Une dernière option pour vous consiste à envisager d’utiliser des champs personnalisés pour définir les chemins d’accès aux images. L’avantage est que cela ne vous oblige pas à télécharger des images sur votre serveur. Cependant, cette approche reste la moins dynamique de toutes vos options et se brisera probablement si les chemins d’accès aux ressources sont modifiés.

Utilisez l’outil qui vous convient le mieux pour le travail. J’espère que cela t’aides!

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 *