Tutorial Câteva metode de trunchiere a titlurilor!

PerSeuS

Well-Known Member
Registered
Full Member
Se întâmplă ca datorită designului să fie necesară trunchierea titlului sau chiar a conținutului (pentru care există excerpt ce poate fi personalizat). Pentru asta e nevoie de o funcție simplă scrisă în functions.php și apelată acolo unde este nevoie.

Metoda de mai jos este pentru titluri și trebuie apelată din loop:
Cod:
function truncate_title($nrchr='20') {
$titlul = get_the_title();
$titlul = substr( $titlul, 0, $nrchr);
return $titlul."...";
}

unde:

$nrchr = numărul de caractere
$titlul = titlul paginii

Implicit am considerat că se trunchează începând de la primul caracter un număr de 20 de caractere și am adăugat trei puncte după titlu.

Funcția este apelată astfel:
Cod:
<?php echo truncate_title('40') ?>

Dacă se apelează fără nici un număr, implicit titlul se va trunchea la 20 de caractere.

O variantă mai personalizabilă este cea în care apelăm metoda având ca paremetru și șirul de la sfârșitul truncherii:
Cod:
function truncate_title($nrchr='20', $sirdupa='...') {
$titlul = get_the_title();
$titlul = substr( $titlul, 0, $nrchr);
return $titlul.$sirdupa;
}

astfel metoda de apelare devine:
Cod:
<?php echo truncate_title('40',' »') ?>

Dacă site-ul este multilingv și aveți nevoie și de o variantă în limba rusă sau în altă limbă ce utilizează caractere chirilice este bine de știut că unicodul literelor chirilice conține două coduri ASCII și substr nu va mai returna un rezultat corect. În acest caz înlocuiți substr cu varianta mai complexă mb_substr (multi-byte). Funcția va arăta astfel:
Cod:
function truncate_title($nrchr='20', $sirdupa='...') {
mb_internal_encoding("UTF-8");
$titlul = get_the_title();
$titlul = mb_substr( $titlul, 0, $nrchr);
return $titlul.$sirdupa;
}

Succes! :)
 
Loading...
Back
Sus