Aujourd’hui, je vous livre le fruit de mes recherches ! Peut-être avez-vous remarqué que la présentation de Free Tools a changé depuis hier… En effet, les articles sont présentés un peu différemment.
Mon objectif était double :
- placer le visuel (image de l’article) en haut d’article (avec un lien)
- mettre le début de l’article et si cela répond a votre recherche, lire l’article en entier.
La première solution m’étant venu à l’esprit a été de copier les thèmes WordPress dit « magazine ». En effet, ces derniers affichent des présentations originales et proche de mon but recherché. Toutefois, j’ai vite déchanté… la solution couramment admise dans ce type de thème est d’ajouter une variable dans le champ Custom Field de WordPress et un petit code dans le source du theme pour en tenir compte… mais, repasser dans les quelques 400 artciles de Free Tools pour personnaliser cette variable… ce fut définitivement « non » avant de commencer ! Je suis bien trop fainéant pour ca !
Donc, je me suis orienté vers une solution sur mesure… le défit a été de récupérer l’url de l’image dans l’article ! Plutôt qu’un long discours, je vous livre le code (tout se passe avec la fonction « preg_match_all ») :
<?php // Set the post content to a variable $szPostContent = $post->post_content; // Define the pattern to search $szSearchPattern = '~<img [^\>]*\ />~'; // Run preg_match_all to grab all the images and save the results in $aPics preg_match_all ( $szSearchPattern, $szPostContent, $aPics ); // Count the results $iNumberOfPics = count($aPics[0]); // Check to see if we have at least 1 image if ( $iNumberOfPics > 0 ) { // Now here you would do whatever you need to do with the images // For this example I'm just going to echo them for ( $i=0; $i < $iNumberOfPics ; $i++ ) { echo('<a href="'); the_permalink(); echo('">'); echo $aPics[0][$i]; echo('</a>'); }; }; the_excerpt(); echo ('<a href="'); the_permalink(); echo('">Lire la suite...</a>'); ?>
Ce code n’est pas de mon cru… je l’ai un peu modifié pour qu’il réponde à quelques exigences supplémentaires :
- ajout du lien sur l’image pour se rendre dans l’article complet
- ajout du lien « lire la suite… »
Voila, rien de bien revolutionnaire…. en espérant que cette astuce vous servira également…
Merci pour cette info, car je cherchais une solus simple et rapide pour faire ce genre de choses. Et reprendre tous les articles . oh la la
Merci encore
Bonjour… excellent ton blog… j’ai particulièrement apprécié les codes 😉 Merci pour l’outil « 960grid »… que je ne connaissais pas du tout et qui fera très probablement l’objet d’un petit article plus tard..
Bravo pour l’astuce et la prouesse technique …
Mais, perso, je préférais avant, quand on pouvait lire tout l’article sans avoir à cliquer pour lire la suite.
Maintenant, il faut cliquer pour lire l’article et revenir en arrière ensuite avec le bouton retour du navigateur (bhoooouuuu !), et puis redescendre la page pour accéder aux autres articles si le navigateur n’y revient pas de lui-même …
C’était plus pratique, plus ergonomique avant.
Je pense que ça peut éventuellement se justifier quand les articles mesurent 10 km de long, mais ce n’est pas le cas sur ce blog.
Et puis pourquoi considérer que ce qui se fait ailleurs est la bonne manière de faire ?
Bref, tout ça est une question de goût et ne remet pas en compte l’excellente qualité de ce blog, tant la qualité des infos, que la qualité graphique.
Bonjour, j’ai eu un peu le même type de réflexion lorsque j’ai souhaité revoir l’aspect graphique de mon blog. Sauf que je suis pas allé jusqu’à modifier le code de mon thème. Du coup j’ai opté pour un autre thème type magazine.
Je me suis abonné au flux RSS de ce blog que je trouve intéressant. Bonne continuation.
La grande « angoise » était (et « est ») de ne pas trop effrayer/decevoir avec un changement des habitudes… Et l’option de reprendre Free Tools et de le migrer vers un autre theme… ce n’est pas pour tout de suite 😉 Merci pour vos commentaires…
Bonjour,
je viens de tomber sur ce code que tu propose et c’est exactement ce que je recherche !
Mais il y a un petit souci chez moi et je ne sais pas si c’est normal :
Toutes les images de l’article s’affichent…
Dans mon cas, et si j’ai bien compris c’est aussi ce que tu voulais faire, je pensais avoir un extrait de l’article ainsi que la première image de l’article, mais ce n’est pas le cas…
Peux tu faire quelque chose?
Une autre question : si il n’y a pas d’image dans l’article, peut on faire en sorte qu’il affiche une autre image prévu à l’avance pour ce cas précis justement?
Merci beaucoup pour tes réponses !
la bise !
Et bien, pour n’afficher que la premiere imagine, si image il y a, il te suffira de regerder le « tableau » et 1) verifier qu’il n’est pas vide, 2) de prendre la premiere image (en l’occurence $aPics[0][0]. Je donne l’idee telle quelle, sans l’avoir testee… donc.. a verifier… mais sur le principe, on devrait toucher au but. Bon courage…