Tovább a tartalomhoz

Navigációs morzsa hookok: archívum-elem, elemek, elválasztó, HTML és CSS

Hét további hook a SEOPress PRO navigációs morzsájához: az egyedi tartalomtípus archívum-eleme, a morzsaelemek listája, az elválasztó jel, a teljes HTML, a beágyazott CSS, valamint a morzsa előtt és után kiírt tartalom.

Ez a fejezet a navigációs morzsa (breadcrumb) további hookjait gyűjti össze. A morzsa beállításairól a Navigációs morzsa (breadcrumbok) fejezet szól, a JSON-LD, az osztályok, a kategóriák és az utolsó elem hookjai a Navigációs morzsa hookok: JSON-LD, osztályok, utolsó elem, kategóriák és CSS fejezetben vannak. A hookok használatának általános szabályait a Composer és hookok használata fejezet írja le. A kódot a gyermeksablonod functions.php fájljába vagy egy saját bővítménybe tedd.

Hook Típus Legkisebb verzió Mire jó
seopress_breadcrumbs_force_archive_name szűrő 4.5 Az egyedi tartalomtípus archívum-elemének kiírása akkor is, ha nincs archívumoldala.
seopress_pro_breadcrumbs_remove_cpt szűrő 3.8.8 Az egyedi tartalomtípus archívum-elemének törlése az egyedi nézet morzsájából.
seopress_pro_breadcrumbs_html szűrő 3.6.5 A kész HTML-morzsa módosítása.
seopress_pro_breadcrumbs_crumbs szűrő 3.6 A morzsaelemek tömbjének módosítása.
seopress_pro_breadcrumbs_sep szűrő 2.8 Az elemek közötti elválasztó jel módosítása.
seopress_pro_breadcrumbs_css szűrő 2.8 A morzsa beágyazott CSS-ének módosítása.
seopress_breadcrumbs_before_html, seopress_breadcrumbs_after_html művelet 2.1 Tartalom kiírása a morzsa előtt vagy után.

Az egyedi tartalomtípus archívum-elemének kiírása

Szekció neve “Az egyedi tartalomtípus archívum-elemének kiírása”

Egyedi tartalomtípus (CPT) archívumoldalának nevét a morzsa linkként mutatja. Ha a tartalomtípusnak nincs archívumoldala (a regisztrációjakor az archívum ki van kapcsolva), az elem alapból hiányzik. A seopress_breadcrumbs_force_archive_name szűrő alapértéke false; true-ra állítva a morzsa ilyenkor is kiírja a tartalomtípus nevét, link nélkül.

add_filter( 'seopress_breadcrumbs_force_archive_name', '__return_true' );

Az archívum-elem törlése az egyedi nézet morzsájából

Szekció neve “Az archívum-elem törlése az egyedi nézet morzsájából”

Egyedi tartalomtípus egyetlen bejegyzésének oldalán a morzsa az archívum linkjét is tartalmazza. A seopress_pro_breadcrumbs_remove_cpt szűrő két értéket kap: a morzsaelemet (tömb: 0 a felirat, 1 az archívum URL-je) és a tartalomtípus objektumát. Ha false értéket adsz vissza, az elem kimarad a morzsából.

add_filter( 'seopress_pro_breadcrumbs_remove_cpt', 'sajat_archivum_elem_torlese', 10, 2 );
function sajat_archivum_elem_torlese( $elem, $tartalomtipus ) {
// Csak a „konyv” tartalomtípusnál tűnjön el az archívum-elem.
if ( 'konyv' === $tartalomtipus->name ) {
return false;
}
return $elem;
}

Ha minden tartalomtípusnál el akarod távolítani, elég ennyi:

add_filter( 'seopress_pro_breadcrumbs_remove_cpt', '__return_false' );

A seopress_pro_breadcrumbs_html szűrő a teljes, kész HTML-morzsát (a <nav> elemet a benne lévő listával) adja át szövegként, még mielőtt a SEOPress kiírná. Visszaadott értékként a módosított HTML-t add vissza.

add_filter( 'seopress_pro_breadcrumbs_html', 'sajat_morzsa_html' );
function sajat_morzsa_html( $html ) {
// Például egy saját dobozba csomagolod a morzsát.
return '<div class="sajat-morzsa-doboz">' . $html . '</div>';
}

A morzsaelemek listájának módosítása

Szekció neve “A morzsaelemek listájának módosítása”

A seopress_pro_breadcrumbs_crumbs szűrő a morzsába kerülő elemek tömbjét adja át, még a HTML és a JSON-LD összeállítása előtt. Minden elem egy tömb: a 0 index a felirat, az 1 az URL (az utolsó elemnél és az archívum-név kiírásakor hiányozhat), a 2 az oldal vagy az osztályozási elem azonosítója (ha van). A szűrő a HTML-morzsát és a JSON-LD-t is érinti.

add_filter( 'seopress_pro_breadcrumbs_crumbs', 'sajat_morzsa_elemek_lista' );
function sajat_morzsa_elemek_lista( $elemek ) {
// Az első elem (a kezdőlap) feliratának átírása.
if ( ! empty( $elemek[0] ) ) {
$elemek[0][0] = 'Főoldal';
}
return $elemek;
}

Ha a szűrőben elemet törölsz (unset), a JSON-LD-ben a pozíciók sorrendje így is folyamatos marad, mert a SEOPress újraindexeli a listát.

A morzsaelemek közé kerülő jelet a SEO → PRO → Breadcrumbok fülön a Breadcrumb-elválasztó mező adja meg. A seopress_pro_breadcrumbs_sep szűrő ezt az értéket írja felül kódból. A szűrő a jelet szóközökkel körülvéve adja át (alapértelmezésként a - szöveget), és ugyanezt az elválasztót használja a beágyazott CSS is.

add_filter( 'seopress_pro_breadcrumbs_sep', 'sajat_morzsa_elvalaszto' );
function sajat_morzsa_elvalaszto( $jel ) {
return ' › ';
}

A seopress_pro_breadcrumbs_css szűrő a morzsa beágyazott stíluslapját adja át a <style>…</style> elemmel együtt, szövegként. Visszaadott értékként a módosított szöveget add vissza. A CSS teljes eltávolítása (remove_action) a JSON-LD, osztályok, utolsó elem, kategóriák és CSS fejezetben szerepel.

add_filter( 'seopress_pro_breadcrumbs_css', 'sajat_morzsa_css' );
function sajat_morzsa_css( $css ) {
// A saját szabályok hozzáadása a meglévőkhöz.
return $css . '<style>.breadcrumb a{text-decoration:none;}</style>';
}

A két művelet a morzsa HTML-jét közrefogja: a seopress_breadcrumbs_before_html közvetlenül előtte, a seopress_breadcrumbs_after_html közvetlenül utána fut le. A morzsa kiírása előtt vagy után így bármit megjeleníthetsz, például egy feliratot vagy egy elválasztóvonalat. A két művelet csak akkor fut, ha a SEO → PRO → Breadcrumbok fülön a morzsa be van kapcsolva.

add_action( 'seopress_breadcrumbs_before_html', 'sajat_morzsa_elott' );
function sajat_morzsa_elott() {
echo '<p class="morzsa-felirat">Itt vagy:</p>';
}
add_action( 'seopress_breadcrumbs_after_html', 'sajat_morzsa_utan' );
function sajat_morzsa_utan() {
echo '<hr class="morzsa-vonal">';
}

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