Articles

Cum se obține titlul paginii curente în WordPress

Cîteodată dorim să obținem titlul paginii curente, care este afișat în tag-ul <title>. Aici mă refer la pagină în sens general, nu la „pagina” WordPress. Avem mai multe funcții WordPress care ne pot ajuta, cum ar fi:

  • get_the_title(): pentru a obține titlul curent al postului/ paginii/ orice tip de post
  • single_cat_title(): pentru a obține titlul curent al categoriei. Există funcții surori pentru tag-uri și termeni, de asemenea: single_tag_title() și single_term_title()
  • get_bloginfo(): pentru a obține numele blogului
  • etc.

Utilizarea acestor funcții sunt grozave, dar au câteva dezavantaje:

  • Aceste funcții sunt specifice pentru anumite pagini, cum ar fi paginile single post/page, category/tag, … pagini. Dar putem avea multe tipuri de pagini în WordPress, cum ar fi: Pagina 404, pagina cu rezultate de căutare, pagina de arhivă sau chiar pagina virtuală.
  • Titlul afișat diferit în teme: este posibil să folosiți o temă care are titlul în format Post Title | Blog Name, dar o altă temă poate folosi doar Post Title. Puteți face o combinație a funcțiilor de mai sus pentru a obține titlul corect, dar care nu va fi folosit pe scară largă pentru alte teme.
  • Ou puteți seta titlul în diferite moduri cu plugin-urile SEO

În acest post, voi folosi un truc simplu care poate rezolva rapid aceste probleme.

Sunt sigur că toți suntem familiarizați cu funcția wp_title(), folosim adesea această funcție în fișierul header.php, astfel:

<title><?php wp_title( '|', true, 'right' ); ?></title>

pentru a afișa titlul paginii (ar trebui să folosiți doar această funcție pentru a afișa titlul paginii, altfel site-ul dvs. poate nu este compatibil cu plugin-urile SEO sau cauzează probleme de performanță).

Trucul constă în schimbarea celui de-al doilea parametru $echo de la true la false pentru a obține valoarea titlului paginii curente:

$title = wp_title( '|', false, 'right' );

Iată un exemplu în care această tehnică este utilă. Vom afișa un buton Twitter. Voi folosi o altă tehnică interesantă pentru a obține URL-ul paginii curente:

global $wp;$link = add_query_arg( $wp->query_string, '', home_url( $wp->request ) );$text = wp_title( '|', false );printf( '<iframe allowtransparency="true" frameborder="0" scrolling="no" src="https://platform.twitter.com/widgets/tweet_button.html?url=%s&text=%s&count=horizontal"></iframe>', urlencode( $link ), rawurlencode( $text ));

În prezent, folosesc scriptul de mai sus (cu câteva adăugiri pentru butoanele Facebook like, Google+) pentru site-urile mele. Și funcționează foarte bine în paginile de arhivă, unde funcțiile construite în WordPress nu sunt foarte utile.