# Mezőleírások, súgók és alapértékek

> A mezőleírás helye és formája: buboréksúgó, shortcode, helyőrző, leírás a felirat alatt, valamint mezők előtöltése URL-paraméterrel.

Ez a fejezet azt mutatja meg, hogyan jelenik meg a mezők **Mező leírása** szövege a termékoldalon, és hogyan tölthetsz elő egy mezőt a webcím paraméterével. A kódrészleteket a sablon `functions.php` fájljába vagy egy kódrészlet-bővítménybe tedd.

## Buboréksúgó

Alapból a leírás a mező alatt jelenik meg szövegként. Ha buboréksúgót kapcsolsz be, a leírás a felirat melletti kérdőjeles ikonra kerül.

1. Nyisd meg a **WooCommerce → Beállítások → Termékkiegészítők → Általános** oldalt.
2. A **Fejlesztések** alatt a **Buboréksúgók engedélyezése** listában válaszd ki a típust.
3. Mentsd a beállítást.

Kétféle súgó van:

- **Normál**: az ikon fölé víve az egeret kis ablak jelenik meg. A szöveg a mező **Mező leírása** mezőjéből jön, ezért rövid, formázatlan szöveghez jó.
- **Továbbfejlesztett**: az ikonra kattintva modális ablak nyílik. A tartalom egyetlen bejegyzésből, oldalból vagy egyedi bejegyzéstípusból jön, így lehet benne formázott szöveg, címsor, kép, videó és shortcode. A mező **Mező leírása** mezőjébe ilyenkor a bejegyzés azonosítóját (ID) írd.

![Normál buboréksúgó a mező felirata mellett](./kepek/termekoldal-sugo.webp)

*Normál buboréksúgó a mező felirata mellett* (https://minta-bolt.hu/product/keramia-bogre/)

A képen az **Üzenet az ajándékkártyára** mező melletti ikon fölött látszik a leírás.

## Leírás közvetlenül a felirat alatt

Alapból a leírás a mező beviteli eleme alatt áll. Ha a felirat alá szeretnéd tenni, kell egy kódrészlet, amely a leírást a mező sablonja előtt írja ki, és leveszi az eredeti helyéről:

```php
<?php

add_action( 'pewc_before_include_frontend_template', function ( $item, $id, $group_layout, $file ) {
	pewc_field_description( $item, $id, $group_layout );
}, 10, 4 );

remove_action( 'pewc_after_field_template', 'pewc_field_description_list_layout' );
```

## Leírás helyőrzőként

Szöveges és szövegmező típusú mezőknél a leírás megjelenhet a beviteli mezőben halvány helyőrzőként. Ehhez egyetlen szűrő kell:

```php
<?php

add_filter( 'pewc_description_as_placeholder', '__return_true' );
```

## Shortcode a leírásban

Alapból a leírásban a shortcode nem fut le. Ha engedélyezni szeretnéd, add hozzá ezt a kódrészletet. A `pewc_filter_field_description` szűrő a kész, `pewc-description` osztályú bekezdést kapja (a mező adataival és a minimum-maximum kiegészítő információval együtt), a kód pedig átengedi a WordPress shortcode-feldolgozóján:

```php
<?php

add_filter( 'pewc_filter_field_description', function ( $html, $item, $additional_info ) {
	return do_shortcode( $html );
}, 10, 3 );
```

A leírás ilyenkor a mező alatt, szövegként jelenik meg, ezért ne legyen bekapcsolva a buboréksúgó és a helyőrzős megjelenítés.

Ezzel például linket is elhelyezhetsz, amely a vásárlónak további információt nyit meg. Egy lehetőség a **Shortcodes Ultimate** bővítmény felugró ablaka:

1. Telepítsd az ingyenes **Shortcodes Ultimate** bővítményt.
2. A mező **Mező leírásába** írj egy `su_lightbox` shortcode-ot, amely a kattintható szöveget fogja körbe, és egy beágyazott tartalom azonosítójára mutat (`type="inline"`).
3. Add meg a hozzá tartozó `su_lightbox_content` blokkot ugyanazzal az azonosítóval, és tedd bele a megjelenítendő tartalmat.
4. A tartalomban használhatsz HTML-t (címsor, félkövér, dőlt), és más shortcode-ot is, például kiemelést.

A szűrő minden shortcode-dal működik, nem csak a Shortcodes Ultimate-tel.

## Mező előtöltése URL-paraméterrel

Egy mező alapértékét a `pewc_default_field_value` szűrővel lehet megadni. Az alábbi kódrészlet a `my_param` paraméter értékét tölti a felsorolt mezőkbe, ha a webcím tartalmazza a paramétert, például `…/termek/?my_param=abc`.

```php
<?php

add_filter( 'pewc_default_field_value', function ( $value, $id, $item, $posted ) {
	// Írd át a saját mezőid azonosítóira.
	$mezok = array( 'pewc_group_888_999', 'pewc_group_888_1000' );
	if ( isset( $_GET['my_param'] ) && in_array( $id, $mezok, true ) ) {
		$value = esc_attr( wp_unslash( $_GET['my_param'] ) );
	}
	return $value;
}, 10, 4 );
```

- A paraméter nevét és a mezőazonosítókat a saját igényeid szerint írd át. A mező azonosítója `pewc_group_` előtagú, utána a csoport és a mező azonosítója áll.
- Csak a felsorolt mezők kapnak értéket, a többi változatlan marad.
- A kódrészlet mindig felülírja az alapértéket, ha a paraméter szerepel a webcímben.
- Jelölőnégyzet-csoportnál az alapérték tömb, lásd a [Jelölőnégyzet, jelölőnégyzet-csoport, rádiógomb-csoport és Választómező](https://hub.hellowp.io/hu/plugins/product-extras-for-woocommerce/mezotipusok-jelolonegyzet-radio-valaszto/) fejezetet.
