Cum pot limita numărul de caractere în rezumat (excerpt)?
Posibilă Duplicare:
rezumat în caractere
Am o întrebare după ce am citit această postare (Cum să evidențiezi termenii de căutare fără plugin). Îmi place foarte mult această funcție (Termen de Căutare Fără Plugin) dar numărul de caractere este prea mare. Ce cod PHP ar trebui să adaug pentru a face rezumatul mai scurt? Aș aprecia dacă cineva poate sugera o soluție. Mulțumesc!

În plus față de cârligul de filtrare furnizat de răspunsul lui Deepa, iată o funcție suplimentară care vă poate ajuta să extindeți utilizarea the_excerpt
în două moduri,
Vă permite să...
Limitați rezumatul după numărul de caractere, dar fără a trunchia ultimul cuvânt. Acest lucru vă va permite să returnați un număr maxim de caractere, dar să păstrați cuvintele întregi, astfel încât să fie returnate doar cuvintele care se încadrează în limita specificată și să vă permită să specificați sursa de unde va proveni rezumatul.
function get_excerpt($limit, $source = null){
$excerpt = $source == "content" ? get_the_content() : get_the_excerpt();
$excerpt = preg_replace(" (\[.*?\])",'',$excerpt);
$excerpt = strip_shortcodes($excerpt);
$excerpt = strip_tags($excerpt);
$excerpt = substr($excerpt, 0, $limit);
$excerpt = substr($excerpt, 0, strripos($excerpt, " "));
$excerpt = trim(preg_replace( '/\s+/', ' ', $excerpt));
$excerpt = $excerpt.'... <a href="'.get_permalink($post->ID).'">more</a>';
return $excerpt;
}
/*
Exemplu... Lorem ipsum habitant morbi (26 de caractere în total)
Returnează primele trei cuvinte care au exact 21 de caractere inclusiv spațiile
Exemplu.. echo get_excerpt(21);
Rezultat... Lorem ipsum habitant
Returnează același lucru ca mai sus, nu sunt suficiente caractere în limită pentru a returna ultimul cuvânt
Exemplu.. echo get_excerpt(24);
Rezultat... Lorem ipsum habitant
Returnează toate cele 26 de caractere ale conținutului nostru, limită de 30 de caractere dată, sunt necesare doar 26 de caractere.
Exemplu.. echo get_excerpt(30);
Rezultat... Lorem ipsum habitant morbi
*/
Această funcție poate fi utilizată de mai multe ori în fișierele de temă, fiecare cu limite diferite de caractere specificate.
Această funcție are capacitatea de a prelua un rezumat din fie,
the_content
the_excerpt
De exemplu, dacă aveți postări care conțin text în caseta the_excerpt din ecranul editorului de postări, dar doriți să extrageți un rezumat din corpul the_content pentru un caz de utilizare special, ați face în schimb;
get_excerpt(140, 'the_content'); //rezumatul este preluat din get_the_content
Acest lucru îi spune funcției că doriți primele 140 de caractere din the_content
, indiferent dacă este setat un rezumat în caseta the_excerpt
.
get_excerpt(140); //rezumatul este preluat din get_the_excerpt
Acest lucru îi spune funcției că doriți primele 140 de caractere din the_excerpt
mai întâi și, dacă nu există niciun rezumat, the_content
va fi utilizat ca rezervă.
Funcția poate fi îmbunătățită pentru a fi mai eficientă și/sau încorporată cu utilizarea filtrelor WordPress atât pentru the_content
cât și pentru the_excerpt
sau pur și simplu utilizată așa cum este în situațiile în care nu există o alternativă potrivită, încorporată în API-ul WordPress.

Salut! Mulțumesc tuturor pentru răspunsurile oferite! Aș dori să întreb, cum pot face să funcționeze cu ... în loc de [...] la sfârșitul rezumatului?

Ultima linie, $excerpt = $excerpt.'... <a href="'.get_permalink($post->ID).'">more</a>';
este ceea ce poți folosi pentru a defini link-ul tău "citește mai mult" ca să zicem așa. Poți vedea că adaugă o elipsă, dar poți adăuga orice dorești.

@Jornes poate fi cu 6 ani întârziere, dar iată codul HTML pentru elipsă …

@NavnishBhardwaj 999 este prioritatea pentru încărcarea filtrului. consultați aici pentru mai multe detalii. https://developer.wordpress.org/reference/functions/add_filter/
