Přeskočit na obsah

Hooky a filtry

Plugin WPify Woo GP webpay poskytuje hooky a filtry, které umožňují vývojářům přizpůsobit jeho chování.

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' );

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 );

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