# 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)](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/megjelenes-navigacios-morzsa/) 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](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-morzsa-json-osztalyok-es-kategoriak/) fejezetben vannak. A hookok használatának általános szabályait a [Composer és hookok használata](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/fejlesztoknek-composer-es-hookok/) 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

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.

```php
add_filter( 'seopress_breadcrumbs_force_archive_name', '__return_true' );
```

## 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.

```php
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:

```php
add_filter( 'seopress_pro_breadcrumbs_remove_cpt', '__return_false' );
```

## A kész HTML-morzsa módosítása

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.

```php
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

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.

```php
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.

## Az elválasztó jel módosítása

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.

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

## A beágyazott CSS módosítása

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](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-morzsa-json-osztalyok-es-kategoriak/) fejezetben szerepel.

```php
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>';
}
```

## Tartalom a morzsa előtt és után

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.

```php
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">';
}
```
