Tworzysz stronę internetową i potrzebujesz pomocy?

Za chwile zaczynam „piątek, piątunio, piąteczek”, czyli kreatywne spotkanie w kreatywnym gronie, przy trunku, który sprzyja kreatywności (oczywiście w umiarze… pity), to jeszcze rzutem na taśmę (psy trzeba wyprowadzić przed wyjściem) krótki poradni o tym, jak w WordPressie zmienić domyślny separator w tytule strony…

Modyfikacja tytułu strony w WordPressie

Można by pomyśleć, ze separator w tytule to w sumie taka błahostka, że nie ma sobie co nią w ogóle zawracać głowy. Ja natomiast uważam, że o perfekcji decydują właśnie drobiazgi, bo to one odróżniają produkt od (wspaniałego) dzieła, a niewątpliwie chcemy, by właśnie czymś była nasza strona… ;-)

Standardowo w WordPressie tytuł strony głównej wygląda tak:

Nazwa Strony | Slogan (opis)

A tak wygląda tytuł w przypadku innych stron/wpisów:

Tytuł wpisu - Nazwa Strony

Widać tu pewną niekonsekwencję, bo mamy tu 2 rodzaje separatorów, zależnie od tego, w którym miejscu strony się znajdziemy (strona główna, czy podstrona/wpis).

Wystarczy odrobina kodu

By to skorygować, wystarczy odrobina kodu, czyli jak to zwykle w przypadku tego typu modyfikacji bywa, i tym razem skorzystamy z pliku functions.php (lub własnej wtyczki jak ktoś woli) i motywu potomnego, gdzie dodajemy:

function webinsider_wp_document_title_separator( $sep ) {
    $sep = '|';
    return $sep;
}
add_filter( 'document_title_separator', 'webinsider_wp_document_title_separator' );

I to tyle – teraz w przypadku podstron mamy taki sam separator jak na stronie głównej, czyli:

Tytuł wpisu | Nazwa Strony

Statyczny tytuł strony

Ale jeśli już przy modyfikacji tytułu jestem, to jeszcze prosty sposób na ustawienie „na sztywno” tytułu dla wszystkich stron:

function webinsider_wp_pre_get_document_title( $title ){
    return 'WebinsiderPL';
}
add_filter( 'pre_get_document_title', 'webinsider_wp_pre_get_document_title' );

Albo dla wybranego typu, np. stron (ale nie wpisów, czy archiwów):

function webinsider_wp_pre_get_document_title( $title ){
    if ( is_singular( 'page' ) ) {    
        return 'WebinsiderPL';
    }
}
add_filter( 'pre_get_document_title', 'webinsider_wp_pre_get_document_title' );

Można też bardziej precyzyjnie, np. ustawiamy tytuł tylko dla strony od ID „12345”:

function webinsider_wp_pre_get_document_title( $title ){
    if ( is_page( 12345 ) ) {    
        return 'WebinsiderPL';
    }
}
add_filter( 'pre_get_document_title', 'webinsider_wp_pre_get_document_title' );

Lub posługując się jej tytułem (lub adresem/slugiem):

function webinsider_wp_pre_get_document_title( $title ){
    if ( is_page( 'Kontakt' ) ) {    
        return 'WebinsiderPL';
    }
}
add_filter( 'pre_get_document_title', 'webinsider_wp_pre_get_document_title' );

Oczywiście nic nie stoi na przeszkodzie, by tego typu operacje wykonać dla wpisów z konkretnej kategorii, czy oznaczonych wybranym tagiem…

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Kurs "WordPress: Pierwsze kroki" (na dobry początek)
Patryk
Kurs "WordPress: Pierwsze kroki" (bezpłatna lekcja)