Přeskočit na obsah

Hooky a filtry

Plugin WPify Woo GoPay 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_gopay_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í GoPay brány
*
* @param array $settings Nastavení brány
* @return array
*/
function my_gopay_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_gopay_settings', 'my_gopay_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_gopay_default_title( $settings ) {
$settings['title']['default'] = 'Zaplatit přes GoPay';
return $settings;
}
add_filter( 'wpify_woo_gopay_settings', 'my_gopay_default_title' );

Filtruje identifikátor platební metody použité pro platbu.

apply_filters( 'wpify_woo_gopay_payment_method', string $method );

Parametry:

  • $method (string) — Identifikátor platební metody

Příklad — přepsání platební metody:

/**
* Vynucení konkrétní platební metody
*
* @param string $method Platební metoda
* @return string
*/
function my_gopay_force_method( $method ) {
// Vynucení kartové platební metody
return 'PAYMENT_CARD';
}
add_filter( 'wpify_woo_gopay_payment_method', 'my_gopay_force_method' );

Filtruje URL obrázku ikony platební metody zobrazené na pokladně.

apply_filters( 'wpify_woo_gopay_payment_method_image', string $image_url, string $method );

Parametry:

  • $image_url (string) — URL obrázku platební metody
  • $method (string) — Identifikátor platební metody

Příklad — použití vlastní ikony pro platební metodu:

/**
* Nahrazení ikony kartové platební metody
*
* @param string $image_url URL obrázku
* @param string $method Platební metoda
* @return string
*/
function my_gopay_custom_icon( $image_url, $method ) {
if ( $method === 'PAYMENT_CARD' ) {
return get_stylesheet_directory_uri() . '/images/custom-card-icon.png';
}
return $image_url;
}
add_filter( 'wpify_woo_gopay_payment_method_image', 'my_gopay_custom_icon', 10, 2 );

Filtruje platební metody zobrazené na platební stránce GoPay (pouze hlavní brána).

apply_filters( 'wpify_woo_gopay_checkout_enabled_methods', array $methods );

Parametry:

  • $methods (array) — Pole identifikátorů povolených platebních metod

Příklad — povolení pouze vybraných metod:

/**
* Povolení pouze karty a bankovních převodů
*
* @param array $methods Platební metody
* @return array
*/
function my_gopay_filter_methods( $methods ) {
return array_filter( $methods, function ( $method ) {
return in_array( $method, [ 'PAYMENT_CARD', 'BANK_ACCOUNT' ] );
} );
}
add_filter( 'wpify_woo_gopay_checkout_enabled_methods', 'my_gopay_filter_methods' );

Příklad — odebrání konkrétní metody:

/**
* Odebrání platební metody Bitcoin z pokladny
*
* @param array $methods Platební metody
* @return array
*/
function my_gopay_remove_bitcoin( $methods ) {
return array_filter( $methods, function ( $method ) {
return $method !== 'BITCOIN';
} );
}
add_filter( 'wpify_woo_gopay_checkout_enabled_methods', 'my_gopay_remove_bitcoin' );

Filtruje argumenty předávané GoPay API při vytváření platby.

apply_filters( 'wpify_woo_gopay_payment_args', array $args );

Parametry:

  • $args (array) — Pole platebních argumentů odesílaných do GoPay API

Příklad — přidání vlastních metadat k platbě:

/**
* Přidání dalších dat do GoPay platby
*
* @param array $args Platební argumenty
* @return array
*/
function my_gopay_payment_args( $args ) {
$args['additional_params'][] = array(
'name' => 'custom_param',
'value' => 'custom_value',
);
return $args;
}
add_filter( 'wpify_woo_gopay_payment_args', 'my_gopay_payment_args' );

Filtruje argumenty předávané GoPay API při vytváření opakované platby.

apply_filters( 'wpify_woo_gopay_recurring_payment_args', array $args );

Parametry:

  • $args (array) — Pole argumentů opakované platby odesílaných do GoPay API

Příklad — úprava argumentů opakované platby:

/**
* Úprava argumentů opakované platby
*
* @param array $args Argumenty opakované platby
* @return array
*/
function my_gopay_recurring_args( $args ) {
// Přidání vlastního parametru pro opakované platby
$args['additional_params'][] = array(
'name' => 'recurring_source',
'value' => 'woocommerce',
);
return $args;
}
add_filter( 'wpify_woo_gopay_recurring_payment_args', 'my_gopay_recurring_args' );

Filtruje seznam registrovaných platebních bran GoPay. Pole je numericky indexovaný seznam názvů tříd bran.

apply_filters( 'wpify_woo_gopay_gateways', array $gateways );

Parametry:

  • $gateways (array) — Numericky indexované pole názvů tříd bran

Příklad — odebrání brány:

use WpifyWooGopay\Modules\WpifyWooGopay\Channels\BitcoinChannel;
/**
* Odebrání Bitcoin brány
*
* @param array $gateways Platební brány
* @return array
*/
function my_gopay_remove_gateway( $gateways ) {
return array_filter( $gateways, function ( $class ) {
return $class !== BitcoinChannel::class;
} );
}
add_filter( 'wpify_woo_gopay_gateways', 'my_gopay_remove_gateway' );

Filtruje URL loga pro konkrétní bránu. Nahraďte {id} identifikátorem brány (např. gopay, gopay-credit-card, gopay-apple-pay).

apply_filters( 'wpify_woo_{id}_logo', string $logo_url );

Parametry:

  • $logo_url (string) — URL loga brány

Příklad — nahrazení loga hlavní GoPay brány:

/**
* Použití vlastního loga pro GoPay bránu
*
* @param string $logo_url URL loga
* @return string
*/
function my_gopay_custom_logo( $logo_url ) {
return get_stylesheet_directory_uri() . '/images/custom-gopay-logo.svg';
}
add_filter( 'wpify_woo_gopay_logo', 'my_gopay_custom_logo' );

Příklad — nahrazení loga Apple Pay brány:

/**
* Použití vlastního loga pro Apple Pay bránu
*
* @param string $logo_url URL loga
* @return string
*/
function my_gopay_applepay_logo( $logo_url ) {
return get_stylesheet_directory_uri() . '/images/custom-applepay-logo.svg';
}
add_filter( 'wpify_woo_gopay-apple-pay_logo', 'my_gopay_applepay_logo' );

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