Hooky a filtry
Tento obsah zatím není dostupný ve vašem jazyce.
Plugin WPify Woo Comgate poskytuje řadu hooků a filtrů, které umožňují přizpůsobit jeho chování.
Filtry pro úpravu platby
Section titled “Filtry pro úpravu platby”wpify_woo_comgate_payment_args
Section titled “wpify_woo_comgate_payment_args”Umožňuje upravit parametry platby před odesláním do Comgate API.
apply_filters( 'wpify_woo_comgate_payment_args', array $args, WC_Order $order )Parametry:
$args(array) - Argumenty platby odesílané do API$order(WC_Order) - Objekt objednávky
Dostupné klíče v $args:
ref_no- Referenční číslo objednávky (výchozí: order ID)amount- Částka k platběcurrency- Měna (CZK, EUR, …)desc/label- Popis platbyemail- Email zákazníkachannel- Platební metodacountry_code- Kód zeměembedded- Inline platba (true/false)
Příklad použití:
/** * Přidání vlastního popisu platby * * @param array $args Argumenty platby * @param WC_Order $order Objednávka * @return array */function my_custom_payment_args( $args, $order ) { $args['label'] = 'Objednávka #' . $order->get_order_number();
return $args;}add_filter( 'wpify_woo_comgate_payment_args', 'my_custom_payment_args', 10, 2 );wpify_woo_comgate_custom_id
Section titled “wpify_woo_comgate_custom_id”Filtr pro převod referenčního ID z Comgate zpět na ID objednávky. Používá se při zpracování platebních notifikací.
apply_filters( 'wpify_woo_comgate_custom_id', mixed $ref_id )Parametry:
$ref_id(mixed) - Referenční ID přijaté z Comgate (hodnota, kterou jste poslali jakoref_no)
Návratová hodnota:
- ID objednávky WooCommerce (integer)
Příklad - sekvenční čísla objednávek:
/** * Změna ref_no na order_number při vytváření platby */function my_custom_ref_no( $args, $order ) { $args['ref_no'] = $order->get_order_number(); return $args;}add_filter( 'wpify_woo_comgate_payment_args', 'my_custom_ref_no', 10, 2 );
/** * Převod order_number zpět na order_id při příjmu notifikace * * @param mixed $ref_id Order number přijatý z Comgate * @return int Order ID */function my_convert_ref_to_order_id( $ref_id ) { // Pro WooCommerce Sequential Order Numbers Pro if ( function_exists( 'wc_seq_order_number_pro' ) ) { return wc_seq_order_number_pro()->find_order_by_order_number( $ref_id ); }
// Pro jiné pluginy - vlastní logika global $wpdb; $order_id = $wpdb->get_var( $wpdb->prepare( "SELECT post_id FROM {$wpdb->postmeta} WHERE meta_key = '_order_number' AND meta_value = %s", $ref_id ) );
return $order_id ?: $ref_id;}add_filter( 'wpify_woo_comgate_custom_id', 'my_convert_ref_to_order_id' );Filtry pro platební metody
Section titled “Filtry pro platební metody”wpify_woo_comgate_payment_methods
Section titled “wpify_woo_comgate_payment_methods”Filtruje seznam dostupných platebních metod.
apply_filters( 'wpify_woo_comgate_payment_methods', array $methods )Parametry:
$methods(array) - Pole platebních metod
Příklad použití:
/** * Odebrání specifické platební metody * * @param array $methods Platební metody * @return array */function my_filter_payment_methods( $methods ) { // Odebrání platební metody unset( $methods['BANK_CZ_CS'] );
return $methods;}add_filter( 'wpify_woo_comgate_payment_methods', 'my_filter_payment_methods' );wpify_woo_comgate_checkout_enabled_methods
Section titled “wpify_woo_comgate_checkout_enabled_methods”Filtruje platební metody zobrazené v pokladně.
apply_filters( 'wpify_woo_comgate_checkout_enabled_methods', array $methods )wpify_woo_comgate_channel_method
Section titled “wpify_woo_comgate_channel_method”Umožňuje upravit data jednotlivé platební metody.
apply_filters( 'wpify_woo_comgate_channel_method', array $method, string $method_key )Parametry:
$method(array) - Data platební metody (název, popis, logo)$method_key(string) - Klíč metody
Filtry pro nastavení
Section titled “Filtry pro nastavení”wpify_woo_comgate_settings
Section titled “wpify_woo_comgate_settings”Filtruje pole nastavení platební brány.
apply_filters( 'wpify_woo_comgate_settings', array $settings )Příklad použití:
/** * Přidání vlastního pole do nastavení * * @param array $settings Nastavení brány * @return array */function my_custom_settings( $settings ) { $settings['my_custom_field'] = array( 'title' => 'Vlastní pole', 'type' => 'text', 'description' => 'Popis vlastního pole', 'default' => '', );
return $settings;}add_filter( 'wpify_woo_comgate_settings', 'my_custom_settings' );wpify_woo_comgate_client_data
Section titled “wpify_woo_comgate_client_data”Umožňuje přepsat přístupové údaje k Comgate API.
apply_filters( 'wpify_woo_comgate_client_data', array $data )Parametry:
$data(array) - Pole s klíčimerchant_numberasecret
Příklad použití:
/** * Dynamické nastavení přístupových údajů * * @param array $data Přístupové údaje * @return array */function my_dynamic_credentials( $data ) { // Např. pro multisite nebo různé měny if ( get_woocommerce_currency() === 'EUR' ) { $data['merchant_number'] = 'EUR_MERCHANT_ID'; $data['secret'] = 'EUR_SECRET'; }
return $data;}add_filter( 'wpify_woo_comgate_client_data', 'my_dynamic_credentials' );Filtry pro přesměrování
Section titled “Filtry pro přesměrování”wpify_woo_comgate_redirect_url
Section titled “wpify_woo_comgate_redirect_url”Filtruje URL pro přesměrování po dokončení platby.
apply_filters( 'wpify_woo_comgate_redirect_url', string $url, WC_Order $order )Parametry:
$url(string) - URL pro přesměrování$order(WC_Order) - Objekt objednávky
Příklad použití:
/** * Vlastní přesměrování po platbě * * @param string $url URL přesměrování * @param WC_Order $order Objednávka * @return string */function my_custom_redirect( $url, $order ) { // Přesměrování na vlastní děkovací stránku return home_url( '/dekujeme/?order=' . $order->get_id() );}add_filter( 'wpify_woo_comgate_redirect_url', 'my_custom_redirect', 10, 2 );Filtry pro platební brány
Section titled “Filtry pro platební brány”wpify_woo_comgate_gateways
Section titled “wpify_woo_comgate_gateways”Filtruje seznam registrovaných platebních bran.
apply_filters( 'wpify_woo_comgate_gateways', array $gateways )Parametry:
$gateways(array) - Pole tříd platebních bran
Příklad použití:
/** * Odebrání platební brány * * @param array $gateways Platební brány * @return array */function my_filter_gateways( $gateways ) { // Odebrání brány pro úvěry unset( $gateways['comgate-all-loan'] );
return $gateways;}add_filter( 'wpify_woo_comgate_gateways', 'my_filter_gateways' );Kam vložit vlastní kód
Section titled “Kam vložit vlastní kód”Vlastní funkce můžete vložit:
- Do functions.php child šablony - Doporučeno pro úpravy specifické pro téma
- Pomocí pluginu Code Snippets - Doporučeno pro snadnou správu
- Do vlastního pluginu - Doporučeno pro komplexnější úpravy