Tovább a tartalomhoz

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.

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.

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';

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:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások