ridurre numero di caratteri

  • Creatore Discussione Creatore Discussione fire900
  • Data di inizio Data di inizio

fire900

Nuovo Utente
23 Lug 2013
23
0
0
Buona sera sto modificando un tema per wordpress ed ho un problema con del codice php. Mi spiego meglio:
Io vorrei che nella index.php sotto ogni post ci fosse una anteprima dell'articolo stesso, guardando il file article.php la funzione che stampa la scritta dell'articolo, per capirci quello che io scritto dentro l'editor è:

PHP:
<?php the_content('Read the rest of this entry &raquo;'); ?>

Infatti se copio questo codice nell'index sotto ogni immagine dell'articolo esce tutta la descrizione, però io non vorrei che uscisse tutta ma solo una parte, tipo non so i primi 30 - 40 caratteri. Ho visto che il tema per limitare i titoli nella index usa questo codice:

PHP:
<?php echo thman_get_limited_string($post->post_title,15); ?>

Cosi io l'ho modificato in:

PHP:
<?php the_content('Read the rest of this entry &raquo;'); ?><?php echo thman_get_limited_string($post->the_content,40); ?>

Il risultato è che la descrizione viene mostrata ma non viene ridotto a 40 caratteri massimo, viene mostrata tutta.

Sapete dirmi dove sbaglio e come potrei risolvere?

Grazie mille
 
Ultima modifica di un moderatore:
PHP:
function limit_text($text, $limit) {
      if (str_word_count($text, 0) > $limit) {
          $words = str_word_count($text, 2);
          $pos = array_keys($words);
          $text = substr($text, 0, $pos[$limit]) . '...';
      }
      return $text;
    }

echo limit_text('Hello here is a long sentence blah blah blah blah blah hahahaha haha haaaaaa', 5);
ù

prova così
 
Ciao Salvo, grazie per la risposta. Scusami ma io non so programmare in php. Come dovrei cambiare il codice?

PHP:
<?php the_content('Read the rest of this entry &raquo;'); ?>
<?php function limit_text($text, $limit) { 
      if (str_word_count($text, 0) > $limit) { 
          $words = str_word_count($text, 2); 
          $pos = array_keys($words); 
          $text = substr($text, 0, $pos[$limit]) . '...'; 
      } 
      return $text; 
    } 

echo limit_text('Hello here is a long sentence blah blah blah blah blah hahahaha haha haaaaaa', 5);
?>

cosi?

Grazie mille per il tuo aiuto
 
Ultima modifica di un moderatore:
ciao scusami, ma il testo è creato in maniera dinamica. io scrivo nell'editor di worpdress e poi sotto ogni articolo appare la descrizione che viene mostrata da:

PHP:
<?php the_content('Read the rest of this entry &raquo;'); ?>

Io vorrei che nella index il testo scritto, in maniera dinamica per ogni articolo dentro il campo the_content fosse limitato a 40 caratteri


Grazie per il supporto
 
Ultima modifica di un moderatore:
puoi provare a metterci la variabile al posto del testo, ma non so che variabile passa wordpress devi sentire nell'apposita sezione o nel loro forum o cose del genere.
 

Discussioni simili