# Hookok: helyi vállalkozás widget, blokkok CSS-e, FAQ blokk és séma-változók

> A helyi vállalkozás widget mezőit, a SEOPress blokkok beágyazott CSS-ét, a FAQ blokk HTML-jét, a helyi vállalkozás típuslistáját és az automatikus séma dinamikus változóit módosító hookok.

Ez a fejezet a helyi vállalkozás widgetjének, a SEOPress blokkoknak és az automatikus sémák változóinak hookjait gyűjti össze. 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 | Legkisebb verzió | Mire jó |
|---|---|---|
| `seopress_lb_widget_title` | 4.0 | A helyi vállalkozás widget címének módosítása. |
| `seopress_lb_widget_state` | 4.0 | A widgetben kiírt megye (állam) módosítása. |
| `seopress_lb_widget_code` | 4.0 | A widgetben kiírt irányítószám módosítása. |
| `seopress_lb_widget_phone` | 4.0 | A widgetben kiírt telefonszám módosítása. |
| `seopress_lb_widget_opening_hours` | 4.0 | A widget nyitvatartási adatainak módosítása. |
| `seopress_lb_widget_html` | 5.0 | A widget kész HTML-jének módosítása. |
| `seopress_schemas_lb_types` | 4.4 | A helyi vállalkozás sémához felkínált típusok listájának bővítése. |
| `wp_enqueue_scripts` | 5.7 | A SEOPress blokkok beágyazott CSS-ének eltávolítása. |
| `seopress_faq_block_html` | 5.3 | A FAQ blokk HTML-jének módosítása. |
| `seopress_faq_block_inline_css` | 5.3 | A FAQ blokk beágyazott CSS-ének kikapcsolása. |
| `seopress_schemas_mapping_select`, `seopress_schemas_dyn_variables`, `seopress_schemas_dyn_variables_replace` | 4.7 | Egyéni dinamikus változó felvétele az automatikus sémák változólistájába. |
| `seopress_pro_get_json_data_software_app` | 4.6 | A kézi szoftveralkalmazás séma módosítása (elavult). |

## A helyi vállalkozás widget mezői

A helyi vállalkozás widget minden megjelenített mezőjének van külön szűrője. Mindegyik a mező szövegét adja át, és szöveget kell visszaadnod. A widgetről a [Helyi vállalkozás](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/strukturalt-adatok-helyi-vallalkozas/) fejezet szól.

| Szűrő | Melyik mezőt módosítja |
|---|---|
| `seopress_lb_widget_title` | A widget címe. |
| `seopress_lb_widget_state` | A megye (állam). |
| `seopress_lb_widget_code` | Az irányítószám. |
| `seopress_lb_widget_phone` | A telefonszám. |

```php
add_filter( 'seopress_lb_widget_title', 'sp_lb_widget_title' );
function sp_lb_widget_title( $html ) {
    $html = __( 'Saját helyi vállalkozás cím', 'sajat-szovegtar' );

    return $html;
}
```

A másik három szűrő ugyanígy épül fel, csak a hook neve és a függvény neve más: `seopress_lb_widget_state`, `seopress_lb_widget_code`, `seopress_lb_widget_phone`.

### Nyitvatartás

A `seopress_lb_widget_opening_hours` szűrő a nyitvatartási adatokat kapja. Fejlesztés közben jól jön, hogy a kapott adat szerkezetét kiírasd vele, hogy lásd, mit módosíthatsz.

```php
add_filter( 'seopress_lb_widget_opening_hours', 'sp_lb_widget_opening_hours' );
function sp_lb_widget_opening_hours( $hours ) {
    echo '<pre>';
    print_r( $hours );
    echo '</pre>';

    return $hours;
}
```

Az időpontok közti elválasztójelet külön szűrő állítja, lásd a [további szűrők](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-egyeb-szurok/) fejezetet.

### A widget kész HTML-je

A `seopress_lb_widget_html` szűrő a widget teljes HTML-jét szövegként adja át. Itt bármit módosíthatsz a kimeneten. A példa csak kiírja a kapott HTML-t, hogy láthasd a szerkezetét.

```php
function sp_lb_widget_html( $html ) {
    var_dump( $html );

    return $html;
}
add_filter( 'seopress_lb_widget_html', 'sp_lb_widget_html' );
```

A widget beágyazott CSS-ét a `seopress_lb_widget_css` szűrő módosítja, lásd a [további szűrők](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-egyeb-tovabbi-szurok/) fejezetet.

## A helyi vállalkozás típusainak listája

A `seopress_schemas_lb_types` szűrő a helyi vállalkozás sémához felkínált típusok tömbjét adja át. Ha a schema.org LocalBusiness-listájában szereplő altípus hiányzik a SEOPress listájából, itt veheted fel.

```php
add_filter( 'seopress_schemas_lb_types', 'sp_schemas_lb_types' );
function sp_schemas_lb_types( $types ) {
    // A típusok a schema.org LocalBusiness oldalán találhatók.
    $types[] = 'MyMissingSubType';

    return $types;
}
```

## A SEOPress blokkok beágyazott CSS-e

### Minden blokk CSS-ének eltávolítása

A blokkszerkesztős blokkok saját beágyazott CSS-t töltenek be. Ha a saját stílusaidat használnád, egy `wp_enqueue_scripts` akcióra kapcsolt függvénnyel kiveheted őket:

- a helyi vállalkozás blokk stílusa: `wpseopress-local-business-style` (`wp_dequeue_style`);
- a tartalomjegyzék blokk stílusa: `wpseopress-table-of-contents-style` (`wp_dequeue_style`);
- a FAQ blokk CSS-e: a `seopress_faq_block_inline_css` szűrő hamis értékkel;
- a navigációs morzsa CSS-e: a `seopress_pro_breadcrumbs_css` szűrő hamis értékkel.

```php
add_action( 'wp_enqueue_scripts', 'sp_remove_seopress_blocks_inline_css' );
function sp_remove_seopress_blocks_inline_css() {
    // Helyi vállalkozás blokk
    wp_dequeue_style( 'wpseopress-local-business-style' );

    // Tartalomjegyzék blokk
    wp_dequeue_style( 'wpseopress-table-of-contents-style' );

    // FAQ blokk
    add_filter( 'seopress_faq_block_inline_css', '__return_false' );

    // Navigációs morzsa
    add_filter( 'seopress_pro_breadcrumbs_css', '__return_false' );
}
```

### Csak a FAQ blokk CSS-ének kikapcsolása

Ha csak a FAQ blokk beágyazott CSS-ét nem kéred, elég egy sor:

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

## A FAQ blokk HTML-je

A `seopress_faq_block_html` szűrő a FAQ blokk kész HTML-jét adja át szövegként (blokkszerkesztő). Módosítsd, majd add vissza.

```php
add_filter( 'seopress_faq_block_html', 'sp_faq_block_html' );
function sp_faq_block_html( $html ) {
    // Itt módosíthatod a HTML-t.

    return $html;
}
```

## Egyéni dinamikus változó az automatikus sémákhoz

Az automatikus sémák mezőihez a legördülő listából választhatsz dinamikus változókat. Saját változót három szűrővel vehetsz fel:

1. `seopress_schemas_mapping_select`: új csoportot és benne az új változót veszi fel a legördülő listába (kulcs és megjelenő név).
2. `seopress_schemas_dyn_variables`: a változó kulcsát adja a felismert változók közé.
3. `seopress_schemas_dyn_variables_replace`: megadja, mivel cserélődjön a változó a kimenetben.

```php
add_filter( 'seopress_schemas_mapping_select', 'sp_schemas_mapping_select' );
function sp_schemas_mapping_select( $select ) {
    // Új csoport és benne egy új elem a listában.
    $select['Egyéni változók'] = array(
        'my_custom_var_key' => __( 'Saját egyéni változóm', 'wp-seopress-pro' ),
    );

    return $select;
}

add_filter( 'seopress_schemas_dyn_variables', 'sp_schemas_dyn_variables' );
function sp_schemas_dyn_variables( $vars ) {
    // A változó kulcsa.
    $vars[] = 'my_custom_var_key';

    return $vars;
}

add_filter( 'seopress_schemas_dyn_variables_replace', 'sp_schemas_dyn_variables_replace' );
function sp_schemas_dyn_variables_replace( $values ) {
    // A kulcs helyére kerülő érték, például a szerző vezetékneve.
    $values[] = get_the_author_meta( 'last_name' );

    return $values;
}
```

Az automatikus sémákról és a változókról az [Automatikus séma](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/strukturalt-adatok-automatikus-sema/) fejezet szól.

## Kézi szoftveralkalmazás séma (elavult)

A `seopress_pro_get_json_data_software_app` szűrő a kézi szoftveralkalmazás séma tömbjét és a környezetét (szintén tömb) adja át. A környezet alapján feltételekhez kötheted a módosítást. A hook elavult, új fejlesztésben ne használd.

```php
function sp_pro_get_json_data_software_app( $jsonld, $context ) {
    // $jsonld: a séma tömbként.
    // $context: a környezet tömbként, feltételekhez használható.

    return $jsonld;
}
add_filter( 'seopress_pro_get_json_data_software_app', 'sp_pro_get_json_data_software_app', 10, 2 );
```
