Tovább a tartalomhoz

Saját dinamikus változók és mezőértékek a metaadatokban

Egyedi dinamikus változó létrehozása, ACF- és JetEngine-mezők, valamint WooCommerce-termékattribútumok használata a SEO-metaadatokban.

A SEOPress több tucat beépített dinamikus változót kínál a metaadatokhoz (például a címhez vagy a meta leíráshoz), és a sémákban is használhatod őket. Ha nem találod a kívántat, készíthetsz sajátot, és más bővítmények mezőinek értékét is behúzhatod.

Saját dinamikus változó létrehozása

Szekció neve “Saját dinamikus változó létrehozása”

A kódot a (gyermek)sablon functions.php fájljába, vagy egy must-use bővítménybe másold.

function sp_titles_template_variables_array($array) {
$array[] = '%%my-custom-global-variable%%';
return $array;
}
add_filter('seopress_titles_template_variables_array', 'sp_titles_template_variables_array');

A %%my-custom-global-variable%% helyére írd a kívánt nevet, például %%seo%%.

2. lépés: az érték kiírása a forráskódba

Szekció neve “2. lépés: az érték kiírása a forráskódba”
function sp_titles_template_replace_array($array) {
//escape your values!
$array[] = esc_attr(wp_strip_all_tags('Best WordPress SEO plugin'));
return $array;
}
add_filter('seopress_titles_template_replace_array', 'sp_titles_template_replace_array');

Az érték helyén bármilyen PHP-függvényt használhatsz. Az adatot mindig escape-eld a biztonság miatt.

3. lépés: a változó felvétele a legördülő listába

Szekció neve “3. lépés: a változó felvétele a legördülő listába”

Standard SEO metaboxhoz:

function sp_get_dynamic_variables($array){
$array['%%my-custom-global-variable%%'] = 'My new dynamic variable title';
return $array;
}
add_filter('seopress_get_dynamic_variables', 'sp_get_dynamic_variables');

Az univerzális SEO metaboxhoz és az egyedi sémához más kód kell; a legördülő listába való felvétel egyébként nem kötelező, a változót begépelve is működik.

Szerkessz egy bejegyzést, és a SEO metaboxban a cím mezőbe írd be az új változót.

Mindhárom szűrőnél ugyanabba a tömbbe veszed fel egymás után a változókat, a sorrendnek pedig egyeznie kell:

function sp_titles_template_variables_array($array) {
$array[] = '%%my-custom-global-variable%%';
$array[] = '%%another-custom-global-variable%%';
return $array;
}
add_filter('seopress_titles_template_variables_array', 'sp_titles_template_variables_array');
function sp_titles_template_replace_array($array) {
$array[] = esc_attr(wp_strip_all_tags( 'This is a variable' ));
$array[] = esc_attr(wp_strip_all_tags( 'This is another variable' ));
return $array;
}
add_filter('seopress_titles_template_replace_array', 'sp_titles_template_replace_array');
function sp_get_dynamic_variables($array){
$array['%%my-custom-global-variable%%'] = 'My new dynamic variable title';
$array['%%another-custom-global-variable%%'] = 'Another dynamic variable title';
return $array;
}
add_filter('seopress_get_dynamic_variables', 'sp_get_dynamic_variables');

A változók hozzáadása után mentsd a bejegyzést.

Az „egyszerű” egyedi mezők értékét ezzel a változóval kéred le:

%%_cf_your_custom_field_name%%

A your_custom_field_name helyére a mező nevét (kulcsát) írd, például %%_cf_seo_title%%. A változó használható címben, meta leírásban és közösségi (Open Graph, X) metaadatban is. Az Advanced Custom Fields azon mezőtípusait fedi le, amelyek a get_field('field_name'); hívással érhetők el.

ACF beállítóoldalak (Options Page) mezői

Szekció neve “ACF beállítóoldalak (Options Page) mezői”

Az ACF beállítóoldalainak mezőit a get_field('field_name', 'option'); hívással kéri le az ACF, és ezek alapból nem érhetők el a SEOPress metaadataiban. Ehhez egyedi dinamikus változót kell készíteni, a fenti módszerrel. A kódban cseréld a kívánt értékekre:

  • a dinamikus változók nevét és kulcsát,
  • az ACF-mezők nevét a get_field() hívásokban,
  • a fordításhoz használt text-domain értéket a sajátodra.

Ha az univerzális SEO metaboxot használod, a legördülő lista kódját a fenti 3. lépés szerint kell igazítani, hogy a változó megjelenjen a listában. Ez nem kötelező.

A JetEngine bejegyzéstípusokhoz létrehozott meta mezői alapból egyedi mezők, vagyis a wp_postmeta táblában tárolt post metak. Értéküket ugyanúgy lekéred, mint az ACF-nél:

  • SEO- és közösségi metaadatban, valamint kézi sémában: %%_cf_your_custom_field_name%%.
  • Automatikus sémában válaszd az Custom fields forrást, majd az egyedi mező nevét.
  • Automatikus egyedi sémában írd be a dinamikus változót: %%_cf_your_custom_field_name%%.

Ha a JetEngine bejegyzéstípusánál bekapcsolod az egyedi meta tárolást (Custom Meta Storage), a mezőértékek lekéréséhez egyedi kód kell:

  • SEO- és közösségi metaadathoz, kézi és egyedi sémához: a fenti saját dinamikus változós kódot igazítsd a mezőidhöz.
  • Automatikus sémához: az automatikus sémák előre definiált dinamikus változóinak alapértelmezett listáját egy szűrővel bővítheted, így a JetEngine-mezők új dinamikus változóként jelennek meg az automatikus sémákban.

Ismétlő (repeater), jelölőnégyzet, rádiógomb és legördülő mezőtípusoknál is a saját dinamikus változós módszert használd.

WooCommerce-termékattribútumok a metaadatokban

Szekció neve “WooCommerce-termékattribútumok a metaadatokban”

A termékattribútumok egyedi taxonómiák. Amikor a Termékek → Tulajdonságok oldalon létrehozol egyet, a rendszer egy pa_ kezdetű taxonómiát hoz létre (például pa_my_product_attribute; a „pa” a product attribute rövidítése).

A metaadatban (például a címben) ezzel a változóval használhatod:

%%_ct_pa_color%%

Az attribútum nevét a termékattribútumok oldalán, a slug oszlopban találod.

Az egyedi (nem taxonómiás) termékattribútumok a _product_attributes post metában tárolódnak: ez egy tömb a nevekkel (kulcsok) és értékekkel. A metaadatban ezt a változót használd:

%%wc_product_attributes%%

Ehhez még egy szűrőt is fel kell venni a (gyermek)sablon functions.php fájljába, hogy a változó értéke megjelenjen.

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