Sticky Links: soha nem törő hivatkozások
Hogyan őrzi meg a WPML a belső hivatkozásokat, ha egy oldal címe vagy helye változik.
A WordPressben könnyű megváltoztatni egy oldal címét, és ezzel minden hozzá vezető hivatkozás 404-es hibát ad. Ilyen változtatás például:
- az oldal szülőjének módosítása,
- a webcím-azonosító (slug) módosítása,
- a webcímszerkezet (permalink) módosítása.
A WPML Sticky Links (ragadós hivatkozások) modulja megakadályozza, hogy a címváltozás megszakítsa a bejövő hivatkozásokat. Ha hivatkozást hozol létre, a WPML magától ragadóssá teszi: az oldal címe helyett az oldal azonosítószámát tárolja, ami semmilyen módosítástól nem változik. Megjelenítéskor a WPML az oldal aktuális címét illeszti be, így a címváltozás után az összes hivatkozó oldal azonnal a jó címre mutat.
A szerkesztőben a ragadós hivatkozásra kattintva az oldal azonosítószámát tartalmazó ?page_id= címet látod, nem a szép webcímet. A látogatók ezt soha nem látják: a WPML az oldalak megjelenítésekor lecseréli az aktuális címre. Ez a blokkszerkesztőben és a klasszikus szerkesztőben is így működik.
A Sticky Links beállításai
Szekció neve “A Sticky Links beállításai”Ha a Sticky Links modul be van kapcsolva, a WPML → Sticky links oldalon szabályozhatod, mit kezeljen.
- Alapból a WPML a bejegyzés szövegében lévő összes hivatkozást ragadóssá teszi. Ide veheted a widgetekben és a karakterláncokban lévő hivatkozásokat is.
- Az összes meglévő hivatkozást tömegesen ragadóssá alakíthatod, és a modul jelzi a már törött hivatkozásokat is, segít kijavítani őket.
- Ha a modult már meglévő tartalom után kapcsolod be, a régi hivatkozások nem alakulnak át azonnal. Az oldal megmutatja, mennyi tartalomban lehet még hagyományos hivatkozás. A Scan gombbal a WPML átvizsgálja ezeket, és ragadóssá alakítja a hivatkozásokat.
- A Revert sticky URLs to permalinks gombbal bármikor visszaállíthatod a hivatkozásokat hagyományos webcímre.
Hivatkozás másik nyelvű oldalra
Szekció neve “Hivatkozás másik nyelvű oldalra”A Sticky Links automatikusan igazítja a hivatkozásokat az aktuális nyelvhez. Ha szándékosan másik nyelvű oldalra hivatkozol, a modul ezt felülírhatja, és ugyanazon a nyelven lévő oldalra irányít.
Hogy a másik nyelvű hivatkozás megmaradjon, add hozzá a téma functions.php fájljához a következő szűrőt. A $blacklist tömbbe azoknak az oldalaknak a slugjait írd, amelyekre eredeti nyelven szeretnél hivatkozni:
add_filter( 'wpml_sl_blacklist_requests', 'wpml_sl_blacklist_requests', 10, 2 );
function wpml_sl_blacklist_requests( $blacklist, $sitepress ) { $blacklist[] = 'documentation'; return $blacklist;}Több oldalhoz soronként add hozzá a slugot:
$blacklist[] = 'documentation';$blacklist[] = 'page-builders';Hivatkozások shortcode-ok tartalmában
Szekció neve “Hivatkozások shortcode-ok tartalmában”Alapból a Sticky Links nem keresi a shortcode-ok által előállított hivatkozásokat. Ha egy shortcode ?page_id=XX alakú hivatkozást ad vissza, a látogatók így, szép webcímre cserélés nélkül látják. Hogy a shortcode tartalmát is kezelje a modul, add hozzá a functions.php fájlhoz:
if ( class_exists( 'WPML_Sticky_Links' ) ) { global $WPML_Sticky_Links; add_filter( 'do_shortcode_tag', [ $WPML_Sticky_Links, 'show_permalinks' ], 0 );}Készült: