8768 sujets

Développement web côté serveur, CMS

Bonjour,

je suis en plein désespoir.
J'utilise Wordpress 4.0 avec le thème Theme Grid Responsive. Il me convient correctement pour le moment, à un détail près : quand je passe sur une image, la description qui s'affiche est tronquée.

J'ai réussi je crois à localiser le code coupable, mais rien à faire, après des heures de bidouillage, ça n'arrange rien...

Voici une illustration du soucis :
Ici

On voit en bas à droite que le texte est tronqué, d'où les "..." au niveau du prix.

Je pense que le code responsable est le suivant :
 <?php $temp_content = explode(" ",substr(strip_tags(get_the_content()),0,175)); $temp_content[(count($temp_content)-1)] = ''; $new_content = implode(" ",$temp_content); ?>

            <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('home-post',array('alt' => 'post image', 'class' => '', 'title' => '<div class="home_post_content"><h4><a href="' . get_permalink() . '">' . get_the_title() . '</a></h4><p>' . $new_content . '...</p></div><div class="home_post_cat">' . $cat_text . '</div>')); ?></a>


Pourriez-vous s'il vous plait me dire quoi faire pour que le texte ne soit plus tronqué ? Merci ! Smiley bawling
Modifié par MaxenceB (11 Sep 2014 - 13:24)
Modérateur
Salut salut,

je pense que ça peut venir de la fonction php substr en première ligne du code que t'as collé.
substr(strip_tags(get_the_content()),0,175)
substr( string, start, length)
Il suffirait donc d'augmenter ce nombre ou même de virer ce dernier paramètre pour retourner l'ensemble de la chaine :
substr(strip_tags(get_the_content()),0)
Voir, du coup, si je ne me plante pas faire péter cette fonction qui ne sert plus a rien pour passer de
$temp_content = explode(" ",substr(strip_tags(get_the_content()),0,175));
à
$temp_content = explode(" ", strip_tags( get_the_content() ) );

à tester bien sur...

[EDIT] Pense aussi à virer les "..." en dur et a vérifier que ce code n'est pas utilisé ailleurs Smiley cligne
Modifié par _laurent (09 Sep 2014 - 16:43)
Merci beaucoup pour ta réponse !
Malheureusement, ça ne change rien.. C'est très étrange...
Modérateur
Si tu rajoute une lettre avant les pointillés :
<p>' . $new_content . 'coucou...</p>

est-ce qu'ils apparaissent bien ?
Si "non" : soit c'est pas le bon bout de code du coup, soit ya des trucs resté en cache toussa toussa
Modifié par _laurent (09 Sep 2014 - 16:47)
Oui cela apparaît !
Et j'ai désactivé les caches dans Safari donc à priori c'est sans cache.
Modérateur
Bonne nouvelle alors Smiley lol

et si tu fais un truc du genre :

<?php
/* On enlève cette partie relou mais on garde le get_the_content
$temp_content = explode(" ",substr(strip_tags(get_the_content()),0,175)); $temp_content[(count($temp_content)-1)] = '';
$new_content = implode(" ",$temp_content);
*/
$new_content = strip_tags(get_the_content());
?>

<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('home-post',array('alt' => 'post image', 'class' => '', 'title' => '<div class="home_post_content"><h4><a href="' . get_permalink() . '">' . get_the_title() . '</a></h4><p>' . $new_content . '...</p></div><div class="home_post_cat">' . $cat_text . '</div>')); ?></a> 


ca devrait insérer le get_the_content() direct sans traitement... Smiley sweatdrop
Modifié par _laurent (09 Sep 2014 - 16:54)
Rah tu es mon sauveur Smiley biggrin
J'ai ôté les ... qui ne servent plus à rien, et je peux rajouter du texte, tout va bien !
Un énorme merci ! Smiley biggrin
Modérateur
Smiley biggthumpup koul !

Vérifie bien que ça a pas fait péter un truc ailleurs (wordpress c'est un sac de noeud) et conserve bien la version originale du bout code modifié en commentaire c'est toujours utile !

Bon courage pour la suite