Prawidłowy sposób wstawiania tytułów do atrybutów alt i title w motywach WordPressa

Bardzo często w motywach autorzy wypełniają atrybuty title i alt, wykorzystując do tego funkcje the_title() lub get_the_title(). Przykładowy kod wygląda wówczas tak:

lub tak

Powyższe dwa sposoby NIE SĄ BEZPIECZNE, ponieważ w tytule mogą znaleźć się znaczniki HTML lub znaki specjalne, które mogą spowodować błędne wyświetlanie strony.

Aby się zabezpieczyć, moglibyśmy tytuł zamknąć w funkcję esc_attr() np. tak:

To rozwiązanie jest jak najbardziej akceptowalne, ale można to zrobić jeszcze lepiej :)

Funkcja the_title_attribute()

Jedną z rzeczy, jaką lubię w WordPressie jest mnogość dostępnych funkcji :) Nie inaczej jest i tym razem, ponieważ możemy skorzystać z gotowej funkcji the_title_attribute().

Zwraca ona tytuł wpisu, z którego zostały usunięte wszystkie znaczniki HTML (strip_tags), a wszystkie znaki specjalne są zamieniane na kody (za pomocą esc_attr()). Tak przygotowany ciąg, można bezpiecznie wstawić do znaczników alt i title.

Do funkcji można przekazać (jako string lub jako tablicę) następujące parametry:

  • $before – tekst do wstawienia przed tytułem
  • $after – tekst do wstawienia po tytule
  • $echo – wyświetla tytuł (TRUE) lub tylko go zwraca (FALSE).

Prawidłowy kod, z naszego przykładu, będzie więc wyglądał następująco:

Prosto, elegancko i bezpiecznie :)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *