get_the_title în WordPress

Interogări și bucla WordPress 0.71

get_the_title() întoarce titlul unui articol; the_title() îl afișează direct în buclă, cu text opțional înainte și după.

Sintaxă
get_the_title( int|WP_Post $post = 0 ): string
the_title( string $before = '', string $after = '', bool $display = true ): void|string

Ce face get_the_title

get_the_title() primește un ID sau un obiect WP_Post (implicit articolul curent din buclă) și întoarce titlul ca text, după ce trece prin filtrul the_title. the_title() lucrează doar cu articolul curent și îl afișează (cu echo), înconjurat de $before și $after.

Pe partea publică a site-ului, titlul articolelor protejate cu parolă primește prefixul „Protected: ” și al celor private „Private: ” (traduse în limba site-ului); prefixele se pot schimba cu filtrele protected_title_format și private_title_format.

Funcțiile NU escapează titlul: el poate conține HTML. Când îl pui în propriul tău HTML folosește esc_html( get_the_title( $id ) ), iar într-un atribut (de exemplu title="" sau alt="") folosește the_title_attribute().

Parametri

Parametru Descriere
$post get_the_title(): ID-ul sau obiectul articolului. Implicit articolul global $post.
$before the_title(): HTML pus înaintea titlului. Implicit ''.
$after the_title(): HTML pus după titlu. Implicit ''.
$display the_title(): true (implicit) afișează titlul, false îl întoarce.

Ce returnează

get_the_title(): titlul ca șir (gol dacă articolul nu are titlu). the_title(): nimic când afișează sau când titlul e gol; titlul când $display este false.

Exemple

Exemplul 1: Titlul din buclă, cu HTML înainte și după

$before și $after se adaugă doar dacă titlul nu e gol, deci nu rămân etichete <h1> goale.

<?php
while ( have_posts() ) :
    the_post();
    the_title( '<h1 class="titlu-articol">', '</h1>' );
endwhile;

Ce afișează pagina

<h1 class="titlu-articol">Meniu de toamnă la Cafenea Iași</h1>

Exemplul 2: Titlul unui articol anume, escapat

În afara buclei dai ID-ul; esc_html() protejează HTML-ul tău dacă titlul conține caractere speciale.

<?php
$id = 42;
printf(
    '<p class="recomandat">Recomandat: %s</p>',
    esc_html( get_the_title( $id ) )
);

Ce afișează pagina

<p class="recomandat">Recomandat: Meniu de toamnă la Cafenea Iași</p>

Greșeli frecvente

  • Scrii echo get_the_title() în propriul HTML fără escaping; titlul poate conține HTML. Folosește esc_html() sau, dacă vrei să păstrezi etichetele permise, wp_kses_post().
  • Pui the_title() într-un atribut (alt, title): ghilimelele din titlu strică HTML-ul. Pentru atribute există the_title_attribute().
  • Chemi get_the_title() fără argument în afara buclei: primești titlul articolului global $post, care poate fi altul decât crezi.

Comenzi înrudite

  • get_permalink: get_permalink() întoarce adresa permanentă a unui articol sau a unei pagini; the_permalink() o afișează escapată.
  • have_posts / the_post: Bucla WordPress (The Loop): have_posts() verifică dacă mai sunt articole, the_post() îl pregătește pe următorul.
  • esc_html: Escapează textul pentru afișare în HTML: transformă < > & și ghilimelele în entități, ca să nu fie interpretate ca cod.
  • esc_attr: Escapează o valoare pentru un atribut HTML (value, title, alt, data-*), ca ghilimelele să nu închidă atributul.
  • the_content: Filtrul prin care trece conținutul unui articol după ce este citit din baza de date și înainte de a fi afișat.