top of page

Filtr dnia: the_title

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?

  1. add_filter []

0 wyświetleń0 komentarzy

Ostatnie posty

Zobacz wszystkie
bottom of page