Přeskočit na obsah
English

Užitečné snippety

Pokud chcete do svého e-shopu přidat dodatečnou funkcionalitu, tak můžete kromě pluginů také použít kousky kódu, tzv. snippety. Ty lze přidat do child-šablony (odvozené šablony), pokud ji používáte, nebo třeba pomocí pluginu Code Snippets, který vám je umožní vložit i když nejste programátoři.

Níže najdete několik užitečných, které se vám mohou hodit, pokud používáte plugin Kybernaut Mailstep.

Pokud nepoužíváte žádný z pluginů pro validaci telefonu, doporučuji použít alespoň základní omezení v podobě tohoto snippetu. Ten ověří při odeslání dat v Pokladně minimální délku a pohlídá nevhodné znaky v poli telefon.

/**
* @snippet WooCommerce: Minimální délka telefonního čísla
* @author Karolína Vyskočilová (https://kybernaut.cz)
* @testedwith WordPress 5.2 & WooCommmerce 3.7.0
*/
function my_theme_validate_phone( $fields, $errors ){
// Mild phone check, min 9 numbers
if ( ! preg_match('/^[+]?[0-9. -]{9,}$/', $fields['billing_phone']) && !empty( $fields['billing_phone'] ) ) {
$errors->add( 'validation', __( '<strong>Telefonní číslo</strong> není platné.', 'my-theme' ) );
}
}
add_action( 'woocommerce_after_checkout_validation', 'my_theme_validate_phone', 10, 2);

Validace čísla popisného

Sekce “Validace čísla popisného”

Snippet ověří, jestli je přítomné alespoň jedno číslo v prvním adresním řádku – čímž předpokládáme, že odesílatel nezapomněl napsat číslo popisné. Hodí se pro GLS a další doručovací služby.

/**
* @snippet WooCommerce: Ulice (první řádek) obsahuje alespoň jednu číslici (číslo popisné)
* @author Karolína Vyskočilová (https://kybernaut.cz)
* @testedwith WordPress 5.8 & WooCommmerce 5.5
*/
function my_theme_validate_street( $fields, $errors ){
if ( ! preg_match('/[0-9]+/', $fields['billing_address_1']) && !empty( $fields['billing_address_1'] ) ) {
$errors->add( 'validation', __( '<strong>Adresa ulice</strong> musí obsahovat číslo popisné.', 'my-theme' ) );
}
}
add_action( 'woocommerce_after_checkout_validation', 'my_theme_validate_street', 10, 2);

Pomohla vám tato stránka?