Za pomocą funkcji get_the_post_thumbnailfunkcja get_the_post_thumbnail() można w szablonie wstawić miniaturki wpisu, zwane „ikoną wpisu”. Czasem przydałoby się zmodyfikować to co dostajemy na wyjściu i poniżej zaprezentowane są trzy różne sposoby wykorzystania filtra post_thumbnail_html, dzięki któremu można usunąć, zmienić bądź dodać atrybuty obrazka.
Żeby usunąć atrybuty „width” oraz „height” z tego co WordPress produkuje jako ikonę wpisu użyj takiego kodu:
add_filter(
'post_thumbnail_html',
create_function(
'$html',
'return preg_replace( \'/ (width|height)="\d+"/\', \'\', $html );'
)
); |
add_filter(
'post_thumbnail_html',
create_function(
'$html',
'return preg_replace( \'/ (width|height)="\d+"/\', \'\', $html );'
)
);
Można oczywiście wyczyścić inne parametry, poniżej ich lista, choć czyszczenie parametru src, byłoby „lekko” bezsensu:
- alt
- class
- height
- src
- title
- width
Wykorzystując ten kod może tez zmienić zawartość jakiegoś elementu, np. ustawić na stałe klasę „foo-bar”:
add_filter(
'post_thumbnail_html',
create_function(
'$html',
'return preg_replace( \'/ class="[^"]+"/\', \'class="foo-bar"\', $html );'
)
); |
add_filter(
'post_thumbnail_html',
create_function(
'$html',
'return preg_replace( \'/ class="[^"]+"/\', \'class="foo-bar"\', $html );'
)
);
Czy też dodać sobie jakiś parametr:
add_filter(
'post_thumbnail_html',
create_function(
'$html',
'return preg_replace( \'/<img/\', \'<img foo="bar"\', $html );'
)
); |
add_filter(
'post_thumbnail_html',
create_function(
'$html',
'return preg_replace( \'/<img/\', \'<img foo="bar"\', $html );'
)
);
Jak użyć podany kod?
Masz 3 rozwiązania:
- wrzuć załączony plik do folderu
wp-content/plugins
, a potem włącz wtyczkę
- wrzuć załączony plik do folderu
wp-content/mu-plugins
- dołącz kod do pliku
functions.php
aktualnie używanego motywu