Přeskočit na obsah

Hooks pro integrace

Tento obsah zatím není dostupný ve vašem jazyce.

Filtry pro přidání podpory vlastních pluginů a integrací.

Pokud používáte vlastní multi-currency řešení, můžete přidat podporu pomocí těchto filtrů.

apply_filters( 'wpify_woo_discounts_convert_price', $converted, $price, $from_currency, $to_currency );
ParametrTypPopis
$convertedfloat|nullKonvertovaná cena (null = použít fallback)
$pricefloatPůvodní cena
$from_currencystringZdrojová měna
$to_currencystringCílová měna
/**
* Vlastní konverze měn pro custom plugin
*
* @param float|null $converted Konvertovaná cena
* @param float $price Původní cena
* @param string $from_currency Zdrojová měna
* @param string $to_currency Cílová měna
*
* @return float|null
*/
function custom_currency_conversion( $converted, $price, $from_currency, $to_currency ) {
// Získat kurz z vlastního pluginu
$rate = my_currency_plugin_get_rate( $from_currency, $to_currency );
if ( $rate ) {
return $price * $rate;
}
return $converted; // Fallback na detekovaný plugin
}
add_filter( 'wpify_woo_discounts_convert_price', 'custom_currency_conversion', 10, 4 );
apply_filters( 'wpify_woo_discounts_detect_currency_plugin', $detected );
ParametrTypPopis
$detectedstring|nullNázev detekovaného pluginu
/**
* Registrace vlastního currency pluginu
*
* @param string|null $detected Detekovaný plugin
*
* @return string|null
*/
function detect_my_currency_plugin( $detected ) {
if ( function_exists( 'my_currency_plugin_init' ) ) {
return 'my_currency_plugin';
}
return $detected;
}
add_filter( 'wpify_woo_discounts_detect_currency_plugin', 'detect_my_currency_plugin' );

Hooky pro vlastní řešení překladu message a label polí.

apply_filters( 'wpify_woo_discounts_rule_message', $message, $rule );
ParametrTypPopis
$messagestringZpráva slevy
$rulearrayData pravidla
apply_filters( 'wpify_woo_discounts_rule_label', $label, $rule );
ParametrTypPopis
$labelstringLabel slevy
$rulearrayData pravidla
/**
* Překlad zprávy přes vlastní systém
*
* @param string $message Zpráva
* @param array $rule Pravidlo
*
* @return string
*/
function translate_discount_message( $message, $rule ) {
$rule_id = $rule['id'] ?? 0;
$current_lang = my_get_current_language();
// Získat překlad z vlastní tabulky
$translated = my_get_translation( 'discount_message', $rule_id, $current_lang );
return $translated ?: $message;
}
add_filter( 'wpify_woo_discounts_rule_message', 'translate_discount_message', 10, 2 );
add_filter( 'wpify_woo_discounts_rule_label', 'translate_discount_message', 10, 2 );

Vlastní funkci můžete vložit buď do tzv. child šablony (functions.php) nebo pomocí pluginu Code Snippets.