# Közösségi hookok: Open Graph, X-kártya és oEmbed

> Hookok az Open Graph típus, szerző és frissítési idő, az X (Twitter) kártya címkéi, a közösségi képméret és az oEmbed adatok módosításához.

Ez a fejezet azokat a hookokat gyűjti össze, amelyekkel a közösségi megosztáshoz kapcsolódó metacímkéket és az oEmbed adatokat alakíthatod. A hookok használatának általános szabályai a [Composer és hookok használata](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/fejlesztoknek-composer-es-hookok/) fejezetben vannak. A kódot a gyermeksablonod `functions.php` fájljába vagy egy saját bővítménybe tedd. A beállításokról a [Open Graph és X (Twitter) kártya metaadatok](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/metaadatok-kozossegi-megosztas/) fejezetben olvashatsz.

| Hook | Típus | Legkisebb verzió | Mire jó |
|---|---|---|---|
| `seopress_social_og_locale` | szűrő | 2.7.2 | Az `og:locale` címke (és az alternatív nyelvek). |
| `seopress_social_og_url` | szűrő | 2.7.2 | Az `og:url` címke. |
| `seopress_social_og_title` | szűrő | 2.7.2 | Az `og:title` címke. |
| `seopress_social_og_desc` | szűrő | 2.7.2 | Az `og:description` címke. |
| `seopress_social_og_thumb` | szűrő | 2.7.2 | Az `og:image` címke (és a kép méretei). |
| `seopress_social_og_site_name` | szűrő | 2.7.2 | Az `og:site_name` címke. |
| `seopress_social_twitter_card_title` | szűrő | 2.7.2 | A `twitter:title` címke. |
| `seopress_social_twitter_card_desc` | szűrő | 2.7.2 | A `twitter:description` címke. |
| `seopress_social_twitter_card_thumb` | szűrő | 2.7.2 | A `twitter:image` címke. |
| `seopress_social_image_size` | szűrő | 9.4 | Az Open Graph és az X-kártya képének mérete. |
| `seopress_social_og_type` | szűrő | 2.7.2 | Az `og:type` metacímke. |
| `seopress_social_og_author` | szűrő | 3.3 | Az `article:author` és `article:publisher` címkék. |
| `seopress_titles_og_updated_time` | szűrő | 3.5 | Az `og:updated_time` címke. |
| `seopress_social_twitter_card_summary` | szűrő | 2.7.2 | A `twitter:card` címke. |
| `seopress_social_twitter_card_site` | szűrő | 2.7.2 | A `twitter:site` címke. |
| `seopress_social_twitter_card_creator` | szűrő | 2.7.2 | A `twitter:creator` címke. |
| `seopress_oembed_title` | szűrő | 3.8.9 | Az oEmbedben kiírt cím. |
| `seopress_oembed_thumbnail_size` | szűrő | 3.8.9 | Az oEmbed bélyegképének mérete. |
| `seopress_oembed_thumbnail` | szűrő | 3.8.9 | Az oEmbed bélyegképének adatai. |

## Open Graph és X-kártya címkék szűrői

Az alábbi szűrők mindegyike a kész HTML-címkét kapja meg (például `<meta property="og:title" content="…">`), és a visszaadott szöveg kerül a fejlécbe. Mivel az értéket már a címke kódolja, a saját szövegedet te magad kódold (például `esc_attr()`-rel). Üres szöveggel az adott címke kimarad. A 404-es oldalon egyik címke sem jelenik meg, a szűrő eredményétől függetlenül. A szűrők csak akkor futnak, ha a megfelelő közösségi funkció (Open Graph vagy X-kártya) be van kapcsolva.

| Szűrő | Címke | Megjegyzés |
|---|---|---|
| `seopress_social_og_locale` | `og:locale` | Az oldal nyelvi kódja. Többnyelvű webhelyen (Polylang, WPML) az `og:locale:alternate` sorok is ebben a szövegben vannak, külön sorban. |
| `seopress_social_og_url` | `og:url` | Az aktuális oldal címe. Keresési találati oldalon a `/search/<keresőszó>` alak szerepel. |
| `seopress_social_og_title` | `og:title` | A cím a sablon változóinak behelyettesítése után kerül a szűrőhöz. |
| `seopress_social_og_desc` | `og:description` | A leírás a változók behelyettesítése után kerül a szűrőhöz. |
| `seopress_social_og_thumb` | `og:image` | A kiválasztott kép címkéi, a kép méretadataival együtt. Ha nincs bejegyzésszintű kép, az alapértelmezett közösségi kép, ennek hiányában a webhely ikonja szerepel. |
| `seopress_social_og_site_name` | `og:site_name` | A webhely neve. Üres webhelynévnél a címke nincs kiírva. |
| `seopress_social_twitter_card_title` | `twitter:title` | A cím a változók behelyettesítése után kerül a szűrőhöz. |
| `seopress_social_twitter_card_desc` | `twitter:description` | A leírás a változók behelyettesítése után kerül a szűrőhöz. |
| `seopress_social_twitter_card_thumb` | `twitter:image` | A kép címe. Ha az X-kártyának nincs saját képe, az alapértelmezett X-kép vagy a Facebook-kép szerepel (utóbbi, ha az X-kártya az Open Graph képét használja). |

```php
// Az Open Graph cím kiegészítése a webhely nevével.
add_filter( 'seopress_social_og_title', function ( $html ) {
    return str_replace( '">', ' | Minta Bolt">', $html );
} );

// A webhelynév címke kihagyása.
add_filter( 'seopress_social_og_site_name', '__return_empty_string' );

// Fix nyelvi kód az Open Graphban.
add_filter( 'seopress_social_og_locale', function ( $html ) {
    return '<meta property="og:locale" content="hu_HU">';
} );

// Az X-kártya képének cseréje.
add_filter( 'seopress_social_twitter_card_thumb', function ( $html ) {
    return '<meta name="twitter:image" content="' . esc_url( 'https://example.com/kep.jpg' ) . '">';
} );
```

## A közösségi kép mérete

A `seopress_social_image_size` szűrő azt a WordPress-képméretet adja meg, amelyből az `og:image` és az X-kártya képe készül. Az alapérték `full`, vagyis az eredeti kép. A szűrő a méret nevét (például `large` vagy `medium_large`) várja, és ugyanazt a visszaadott méretet használja minden olyan helyen, ahol a SEOPress közösségi képet ír ki.

```php
add_filter( 'seopress_social_image_size', function ( $size ) {
    return 'large';
} );
```

## Open Graph típus

Az `og:type` címkét a SEOPress oldaltípusonként állítja be:

- a címlapon és a blogoldalon `website`,
- termékeken `product`,
- videót tartalmazó bejegyzésen `video.other`,
- cikk jellegű tartalmon `article`,
- egyéb önálló tartalmon `website`,
- keresési találatokon, archívumokon és 404-es oldalon `object`.

A `seopress_social_og_type` szűrő a kész HTML-címkét kapja meg (például `<meta property="og:type" content="article">`), és a visszaadott szöveg kerül a fejlécbe. A 404-es oldalon a címke nem jelenik meg akkor sem, ha a szűrő értéket ad vissza.

```php
add_filter( 'seopress_social_og_type', function ( $html ) {
    if ( is_singular( 'recept' ) ) {
        return '<meta property="og:type" content="article">';
    }
    return $html;
} );
```

## Open Graph szerző és kiadó

Ha a **SEO → Social Networks** oldalon megadtad a Facebook-oldalad URL-jét, és a Facebook Open Graph be van kapcsolva, a cikk jellegű oldalakon a SEOPress kiírja az `article:author` és az `article:publisher` címkét is. A `seopress_social_og_author` szűrő mindkét címkét egyben, két sorban kapja meg, és a visszaadott szöveg kerül a fejlécbe. Videót tartalmazó bejegyzésen ezek a címkék nem jelennek meg.

```php
add_filter( 'seopress_social_og_author', function ( $html ) {
    return '<meta property="article:publisher" content="https://www.facebook.com/peldaoldal">';
} );
```

## Az og:updated_time címke

A `seopress_titles_og_updated_time` szűrő az `og:updated_time` címke kész HTML-jét kapja, és a visszaadott szöveg kerül a fejlécbe. Üres szöveggel kiveheted a címkét. A hook ugyanabban a blokkban fut, mint az `article:published_time` és az `article:modified_time` szűrője, és a címke értéke az oldal utolsó módosításának ideje.

```php
add_filter( 'seopress_titles_og_updated_time', '__return_empty_string' );
```

## X (Twitter) kártya

Ha az X-kártya be van kapcsolva, három szűrő módosíthatja a kártya főbb címkéit. Mindegyik a kész HTML-címkét kapja meg.

| Szűrő | Alapértelmezett címke | Mikor jelenik meg |
|---|---|---|
| `seopress_social_twitter_card_summary` | `<meta name="twitter:card" content="summary_large_image">`, vagy `content="summary"` kisebb képméretnél | Az X-kártya bekapcsolva; a 404-es oldalon nem. |
| `seopress_social_twitter_card_site` | `<meta name="twitter:site" content="@fiok">` | Ha a **SEO → Social Networks** oldalon megadtad az X (Twitter) fiókot; a 404-es oldalon nem. |
| `seopress_social_twitter_card_creator` | `<meta name="twitter:creator" content="@fiok">` | A szerző profiljában megadott X-fiók, ennek hiányában a webhely fiókja. |

A fiók nevét a SEOPress `@fiok` alakra hozza akkor is, ha teljes profil-URL-t írtál be.

```php
add_filter( 'seopress_social_twitter_card_summary', function ( $html ) {
    return '<meta name="twitter:card" content="summary_large_image">';
} );
```

## oEmbed

Ha egy másik WordPress-oldal beágyazza a te bejegyzésedet, az oEmbed-válasz címét és bélyegképét a SEOPress állítja be. Három szűrő módosíthatja:

- **`seopress_oembed_title`**: a bejegyzés oEmbed-címe. A cím a **SEO → Titles & Metas** beállításai szerint készül (a sablon változóival együtt), és ezt a kész szöveget kapja meg a szűrő.
- **`seopress_oembed_thumbnail_size`**: a bélyegkép képmérete, ha a bejegyzésnek nincs külön megadott Open Graph képe, csak kiemelt képe. Az alapérték a **SEO → Social Networks** oldalon beállított képméret, ennek hiányában `full`.
- **`seopress_oembed_thumbnail`**: a bélyegkép adatait tartalmazó tömb. A tömb `url` kulcsa a kép címe; a kiemelt képből készült bélyegképnél `width` (szélesség) és `height` (magasság) is van benne.

```php
add_filter( 'seopress_oembed_title', function ( $title ) {
    return $title . ' | Minta Bolt';
} );

add_filter( 'seopress_oembed_thumbnail_size', function ( $size ) {
    return 'medium_large';
} );

add_filter( 'seopress_oembed_thumbnail', function ( $thumbnail ) {
    return array(); // nincs bélyegkép az oEmbedben
} );
```
