Přeskočit na obsah

Řešení potíží

  1. Přejděte do WPify → WPify Woo
  2. Ověřte, že je modul Pátý pád v e-mailech zapnutý
  3. Uložte změny

Pokud máte nastavené Povolené jazyky, vokativ se aplikuje pouze pro tyto jazyky.

Řešení:

  • Nechte pole prázdné pro všechny jazyky
  • Nebo přidejte požadovaný jazyk do seznamu

Modul funguje pouze pro e-maily související s objednávkami. Ostatní WooCommerce e-maily (např. reset hesla) nejsou ovlivněny.

// Modul kontroluje typ objektu
if ( ! is_a( $email->object, '\WC_Order' ) ) {
return $params; // Vokativ se neaplikuje
}

Knihovna pro skloňování nemusí správně rozpoznat všechna jména, zejména:

  • Cizí jména
  • Neobvyklá česká jména
  • Přezdívky

Modul obsahuje výjimku pro jména končící na “nis” (např. Yannis, Janis):

if ( preg_match( "/nis$/", $name ) ) {
return preg_replace( "/nis$/", "nisi", $name );
}

Pro přidání vlastních pravidel použijte filtr s nižší prioritou:

add_filter( 'woocommerce_mail_callback_params', function( $params, $email ) {
// Vlastní skloňování před modulem
return $params;
}, 10, 2 );

Pokud používáte vlastní text v poli Replace first name, ujistěte se, že obsahuje zástupné symboly:

Správně:

Ahoj {first_name},

Špatně:

Ahoj zákazníku,

Jiné pluginy mohou měnit obsah e-mailů. Zkontrolujte priority filtrů:

// WPify Woo používá prioritu 20
add_filter( 'woocommerce_mail_callback_params', ..., 20 );
// V debug kódu
$vocative = wpify_woo_container()->get(
\WpifyWoo\Modules\Vocative\VocativeModule::class
);
var_dump( $vocative->get_setting( 'replace_first_name' ) );
var_dump( $vocative->get_setting( 'allowed_languages' ) );
// Test skloňování jména
$inflection = new \WpifyWooDeps\Inflection();
$inflected = $inflection->inflect( 'Václav' );
// Index 5 = 5. pád (vokativ)
echo $inflected[5]; // "Václave"
add_filter( 'woocommerce_mail_callback_params', function( $params, $email ) {
error_log( 'Email params: ' . print_r( $params, true ) );
return $params;
}, 999, 2 );

Modul vyžaduje WooCommerce 3.0+. Starší verze mohou mít odlišnou strukturu e-mailů.

Některá témata nebo pluginy mohou přepisovat WooCommerce e-mailové šablony. V takovém případě se vokativ nemusí aplikovat správně.