WC_Payment_Gateways::set_current_gateway()publicWC 1.0

Set the current, active gateway.

Метод класса: WC_Payment_Gateways{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

$WC_Payment_Gateways = new WC_Payment_Gateways();
$WC_Payment_Gateways->set_current_gateway( $gateways );
$gateways(массив) (обязательный)
Available payment gateways.

Код WC_Payment_Gateways::set_current_gateway() WC 8.7.0

public function set_current_gateway( $gateways ) {
	// Be on the defensive.
	if ( ! is_array( $gateways ) || empty( $gateways ) ) {
		return;
	}

	$current_gateway = false;

	if ( WC()->session ) {
		$current = WC()->session->get( 'chosen_payment_method' );

		if ( $current && isset( $gateways[ $current ] ) ) {
			$current_gateway = $gateways[ $current ];
		}
	}

	if ( ! $current_gateway ) {
		$current_gateway = current( $gateways );
	}

	// Ensure we can make a call to set_current() without triggering an error.
	if ( $current_gateway && is_callable( array( $current_gateway, 'set_current' ) ) ) {
		$current_gateway->set_current();
	}
}