Filtr dnia: the_title
- Piotr Bartczak
- 29 sty 2014
- 1 minut(y) czytania
Jeden z podstawowych filtrów w WordPressie używany do zmian wyświetlanego tytułu. Mimo swojej prostoty jest bardzo przyjemnym filtrem, który możemy wykorzystać w wielu miejscach. Na stronach czy wpisach oraz co nie jest takie oczywiste, również do modyfikowania treści menu.
Jest on bardzo prosty i jako parametry wejściowe przyjmuje dwa argumenty: wartość i id obiektu.
Dlaczego piszę „wartość” zamiast tytuł? Otóż dlatego, że ten filtr nakładany jest również na elementy menu, które są również … wpisami, typu nav_menu_item.
Jest to o tyle istotne, że dodając własny filtr za pomocą funkcji add_filter1, musimy jawnie podać liczbę przyjmowanych argumentów, no chyba że obsługujemy całość niezależnie od tego co to jest.
Przykłady
Data do tytułu
Do każdego tytułu wpisu dodać datę jego publikacji.
class iworks_add_date_to_title
{
public function __construct()
{
add_filter('the_title', array( $this, 'the_title' ), 10, 2 );
}
public function the_title($title, $post_ID)
{
if ( is_single($post_ID) ) {
return $title . ' - ' . get_the_time('m:h d/m/Y', $post_ID );
}
return $title;
}
}
new iworks_add_date_to_title();
Prefiks do tytułu
Do każdego tytułu wpisu oznaczonego tagiem WordPress, należy dodać taki prefiks, ale tylko wtedy jak nie ma tego słowa w tym tytule.
class iworks_prefix_title
{
public function __construct()
{
add_filter('the_title', array( $this, 'the_title' ), 10, 2 );
}
public function the_title($title, $post_ID)
{
if ( preg_match( '/wordpress/', $title ) ) {
return $title;
}
if ( is_single($post_ID) && has_tag('WordPress', $post_ID) ) {
return 'WordPress: '.$title;
}
return $title;
}
}
new iworks_prefix_title();
Podsumowanie
Oczywiście można znaleźć jeszcze wiele zastosowań, takich jak dodawanie obrazka (choć to może zły przykład, bo to powinniśmy załatwić raczej css’ami).
A czy ty stosujesz ten filtr? Jeśli tak, to jak?
add_filter [↩]
Comments