Snippet til WPCode Lite
Navn:      Yoast-variabler: fri fragt og produktbeskrivelse
Type:      PHP Snippet
Placering: Run Everywhere
Giver to variabler til Yoast-felterne:
  %%frifragt%%        Beloebsgraensen for fri fragt, hentet fra fragtmetoden.
                      Aendrer du graensen i WooCommerce, foelger teksten med.
  %%bv_beskrivelse%%  Varens korte beskrivelse, klippet pent af ved 155 tegn.
                      Mangler den korte beskrivelse, bruges den lange.
                      Mangler begge, bruges en standardtekst med fri fragt-graensen.
BAGGRUNDEN
Yoasts nuvaerende skabelon for produkter lyder:
  Koeb %%title%% og faa gratis levering fra foerste flaske, personlig raadgivning
  og 100% tilfredsheds garanti
Den gaelder 180 publicerede varer, lover gratis levering og staver
tilfredshedsgaranti i to ord.
RÆKKEFØLGE
1. Indsaet og aktiver denne snippet.
2. Test at variablerne virker (se nederst).
3. Skift foerst derefter skabelonen under
   Yoast SEO > Udseende i soegeresultater > Indholdstyper > Produkter
   Meta-beskrivelse:  %%bv_beskrivelse%%
Gor du det i omvendt raekkefoelge, viser Google variabelnavnet ordret.
------------------------- KOPIÉR HERFRA -------------------------
add_action( 'wpseo_register_extra_replacements', 'bv_registrer_yoast_variabler' );
function bv_registrer_yoast_variabler() {
if ( ! function_exists( 'wpseo_register_var_replacement' ) ) {
return;
}
wpseo_register_var_replacement(
'%%frifragt%%',
'bv_frifragt_beloeb',
'advanced',
'Beloebsgraensen for fri fragt, hentet fra fragtmetoden.'
);
wpseo_register_var_replacement(
'%%bv_beskrivelse%%',
'bv_produkt_beskrivelse',
'advanced',
'Varens korte beskrivelse, ellers den lange, ellers en standardtekst.'
);
}
function bv_frifragt_beloeb() {
$fallback = '699';
$cached = get_transient( 'bv_frifragt_beloeb' );
if ( false !== $cached ) {
return $cached;
}
if ( ! class_exists( 'WC_Shipping_Zones' ) ) {
return $fallback;
}
$laveste = 0;
foreach ( array( 2, 0 ) as $zone_id ) {
$zone = WC_Shipping_Zones::get_zone( $zone_id );
if ( ! $zone ) {
continue;
}
foreach ( $zone->get_shipping_methods( true ) as $metode ) {
$vaerdi = '';
if ( isset( $metode->instance_settings['free_shipping_total'] ) ) {
$vaerdi = $metode->instance_settings['free_shipping_total'];
} elseif ( isset( $metode->instance_settings['min_amount'] ) ) {
$vaerdi = $metode->instance_settings['min_amount'];
}
$vaerdi = (float) $vaerdi;
if ( $vaerdi > 0 && ( 0 === $laveste || $vaerdi < $laveste ) ) {
$laveste = $vaerdi;
}
}
}
$resultat = $laveste > 0 ? number_format_i18n( $laveste, 0 ) : $fallback;
set_transient( 'bv_frifragt_beloeb', $resultat, 12 * HOUR_IN_SECONDS );
return $resultat;
}
function bv_produkt_beskrivelse() {
$id = get_the_ID();
if ( ! $id ) {
return '';
}
$post = get_post( $id );
if ( ! $post ) {
return '';
}
$tekst = bv_rens_tekst( $post->post_excerpt );
if ( '' === $tekst ) {
$tekst = bv_rens_tekst( $post->post_content );
}
if ( '' === $tekst ) {
return sprintf(
'Koeb %s hos Buus Vine. Fri fragt over %s kr, personlig raadgivning og 100 procent tilfredshedsgaranti.',
get_the_title( $id ),
bv_frifragt_beloeb()
);
}
return bv_klip( $tekst, 155 );
}
function bv_rens_tekst( $raa ) {
$raa = strip_shortcodes( (string) $raa );
$raa = wp_strip_all_tags( $raa );
$raa = html_entity_decode( $raa, ENT_QUOTES, 'UTF-8' );
$raa = preg_replace( '/\s+/u', ' ', $raa );
return trim( $raa );
}
function bv_klip( $tekst, $maks ) {
if ( mb_strlen( $tekst ) <= $maks ) {
return $tekst;
}
$kort = mb_substr( $tekst, 0, $maks );
$plads = mb_strrpos( $kort, ' ' );
if ( false !== $plads && $plads > 60 ) {
$kort = mb_substr( $kort, 0, $plads );
}
return rtrim( $kort, " ,.;:-" ) . '...';
}
add_action( 'woocommerce_settings_saved', 'bv_ryd_frifragt_cache' );
add_action( 'woocommerce_shipping_zone_method_added', 'bv_ryd_frifragt_cache' );
add_action( 'woocommerce_shipping_zone_method_deleted', 'bv_ryd_frifragt_cache' );
add_action( 'woocommerce_shipping_zone_method_status_toggled', 'bv_ryd_frifragt_cache' );
function bv_ryd_frifragt_cache() {
delete_transient( 'bv_frifragt_beloeb' );
}
------------------------- KOPIÉR HERTIL -------------------------
SÅDAN TESTER DU
Aabn en vare i editoren, rul ned til Yoast SEO, klik Rediger uddrag og skriv
%%bv_beskrivelse%% i Meta-beskrivelse. Forhaandsvisningen skal vise varens egen
tekst. Proev ogsaa %%frifragt%%, der skal vise 699. Slet teksten igen bagefter,
skabelonen skal saettes ét sted, ikke pr. vare.
DÆKNING PÅ DIT KATALOG LIGE NU
332 publicerede varer.
  152 har deres egen metabeskrivelse og roeres ikke, den vinder altid over skabelonen.
   96 har en kort beskrivelse, som bliver til en rigtig metabeskrivelse.
   84 har ingen kort beskrivelse. De faar den lange, eller standardteksten.
OPMÆRKSOMHEDSPUNKT
Produktfeeds laeser ofte metafeltet raat i stedet for Yoasts faerdige output.
Der koerer fire feed-plugins: Product Feed PRO, Product Catalog Feed Pro,
Partner-ads og Daisycon. Tjek et feed efter skiftet. Staar variabelnavnet i
feedet, skal feed-skabelonen pege paa varens beskrivelse i stedet for Yoast-feltet.
Modtag vinen
Bestil inden for følgende tidsramme:
Modtag . Bestil inden:
: :
Filter & sortering
Filtrer udvalg

Viser 110 resultaterSorteret efter seneste

Viser 110 resultaterSorteret efter seneste