Hogyan kapjuk meg az aktuális oldal címét a WordPressben
Néha szeretnénk megkapni az aktuális oldal címét, amely a <title>
tagben jelenik meg. Itt az oldalra gondolok általános értelemben, nem a WordPress “oldalára”. Számos WordPress függvényünk van, amelyek segíthetnek, például:
-
get_the_title()
: az aktuális post/page/any post type címének lekérdezése -
single_cat_title()
: az aktuális kategória címének lekérdezése. Vannak testvérfüggvények a címkékhez és a kifejezésekhez is:single_tag_title()
éssingle_term_title()
-
get_bloginfo()
: a blog nevének - stb.
Ezek a függvények használata nagyszerű, de van néhány hátrányuk:
- Ezek a függvények bizonyos oldalakra, például egyetlen bejegyzés/oldal, kategória/tag, … oldalakra vonatkoznak. De sokféle oldaltípusunk lehet a WordPressben, mint például: 404 oldal, keresési találati oldal, archív oldal, vagy akár virtuális oldal.
- A cím különbözőképpen jelenik meg a témákban: használhatsz olyan témát, amelynek címe
Post Title | Blog Name
formátumú, de egy másik téma csakPost Title
formátumot használhat. A fenti funkciók kombinációjával elérheted a helyes címet, de ez nem lesz széles körben használható más témáknál. - Vagy a címet különböző módon állíthatod be a SEO pluginekkel
Ebben a bejegyzésben egy egyszerű trükköt fogok használni, amely gyorsan megoldja ezeket a problémákat.
Bizonyára mindannyian ismerjük a wp_title()
függvényt, gyakran használjuk ezt a függvényt a header.php
fájlban, például így:
<title><?php wp_title( '|', true, 'right' ); ?></title>
az oldal címének megjelenítésére (csak ezt a függvényt használd az oldal címének megjelenítésére, különben az oldalad talán nem kompatibilis a SEO pluginekkel, vagy teljesítményproblémát okoz).
A trükk az, hogy a $echo
2. paramétert true
-ről false
-re cseréljük, hogy megkapjuk az aktuális oldalcím értékét:
$title = wp_title( '|', false, 'right' );
Itt egy példa, ahol ez a technika hasznos. Egy Twitter gombot fogunk megjeleníteni. Egy másik klassz technikát fogok használni, hogy megkapjuk az aktuális oldal URL-jét:
global $wp;$link = add_query_arg( $wp->query_string, '', home_url( $wp->request ) );$text = wp_title( '|', false );printf( '<iframe allowtransparency="true" frameborder="0" scrolling="no" src="https://platform.twitter.com/widgets/tweet_button.html?url=%s&text=%s&count=horizontal"></iframe>', urlencode( $link ), rawurlencode( $text ));
A fenti szkriptet (néhány kiegészítéssel a Facebook like, Google+ gombokhoz) jelenleg a weboldalaimhoz használom. És nagyszerűen működik az archív oldalakon, ahol a WordPress beépített funkciói nem túl hasznosak.