Hooky a filtry
Plugin WPify Woo GP webpay poskytuje hooky a filtry, které umožňují vývojářům přizpůsobit jeho chování.
Filtry pro nastavení
Section titled “Filtry pro nastavení”wpify_woo_gpwebpay_settings
Section titled “wpify_woo_gpwebpay_settings”Filtruje pole nastavení platební brány.
apply_filters( 'wpify_woo_gpwebpay_settings', array $settings );Parametry:
$settings(array) — Pole definic formulářových polí WooCommerce brány
Příklad — přidání vlastního pole do nastavení:
/** * Přidání vlastního pole do nastavení GP webpay brány * * @param array $settings Nastavení brány * @return array */function my_gpwebpay_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_gpwebpay_settings', 'my_gpwebpay_custom_settings' );Příklad — změna výchozího názvu brány:
/** * Změna výchozího názvu platební brány * * @param array $settings Nastavení brány * @return array */function my_gpwebpay_default_title( $settings ) { $settings['title']['default'] = 'Zaplatit přes GP webpay';
return $settings;}add_filter( 'wpify_woo_gpwebpay_settings', 'my_gpwebpay_default_title' );Filtry pro přesměrování
Section titled “Filtry pro přesměrování”wpify_woo_gpwebpay_error_redirect_url
Section titled “wpify_woo_gpwebpay_error_redirect_url”Filtruje URL, na kterou je zákazník přesměrován po neúspěšné platbě.
apply_filters( 'wpify_woo_gpwebpay_error_redirect_url', string $url, WC_Order $order, string $message );Parametry:
$url(string) — URL pro přesměrování (výchozí je stránka pokladny)$order(WC_Order) — Objekt WooCommerce objednávky$message(string) — Chybová zpráva z GP webpay
Příklad — přesměrování na vlastní chybovou stránku:
/** * Přesměrování na vlastní stránku po neúspěšné platbě GP webpay * * @param string $url URL přesměrování * @param WC_Order $order Objednávka * @param string $message Chybová zpráva * @return string */function my_gpwebpay_error_redirect( $url, $order, $message ) { return home_url( '/platba-selhala/?order=' . $order->get_id() );}add_filter( 'wpify_woo_gpwebpay_error_redirect_url', 'my_gpwebpay_error_redirect', 10, 3 );Příklad — logování neúspěšných plateb se zachováním výchozího přesměrování:
/** * Logování neúspěšných pokusů o platbu * * @param string $url URL přesměrování * @param WC_Order $order Objednávka * @param string $message Chybová zpráva * @return string */function my_gpwebpay_log_failed( $url, $order, $message ) { $logger = wc_get_logger(); $logger->warning( sprintf( 'GP webpay platba selhala pro objednávku #%s: %s', $order->get_order_number(), $message ), [ 'source' => 'gpwebpay-custom' ] );
return $url;}add_filter( 'wpify_woo_gpwebpay_error_redirect_url', 'my_gpwebpay_log_failed', 10, 3 );Kde umístit kód
Section titled “Kde umístit kód”Vlastní funkci můžete vložit buď do tzv. child šablony nebo pomocí pluginu Code Snippets.