__( 'General Options', 'woocommerce-jetpack' ), 'type' => 'title', 'id' => 'wcj_payment_gateways_by_shipping_general_options', ), array( 'title' => __( 'Use Shipping Instances', 'woocommerce-jetpack' ), 'desc' => __( 'Enable', 'woocommerce-jetpack' ), 'desc_tip' => __( 'Enable this if you want to use shipping methods instances instead of shipping methods.', 'woocommerce-jetpack' ) . ' ' . __( 'Save changes after enabling this option.', 'woocommerce-jetpack' ), 'type' => 'checkbox', 'id' => 'wcj_payment_gateways_by_shipping_use_shipping_instance', 'default' => 'no', ), array( 'type' => 'sectionend', 'id' => 'wcj_payment_gateways_by_shipping_general_options', ), ); $settings = array_merge( $settings, array( array( 'title' => __( 'Payment Gateways', 'woocommerce-jetpack' ), 'type' => 'title', 'desc' => __( 'If payment gateway is only available for certain methods, set it up here. Leave blank to enable for all methods.', 'woocommerce-jetpack' ), 'id' => 'wcj_payment_gateways_by_shipping_options', ), ) ); $gateways = WC()->payment_gateways->payment_gateways(); foreach ( $gateways as $key => $gateway ) { if ( ! in_array( $key, array( 'bacs', 'cod' ) ) ) { $custom_attributes = apply_filters( 'booster_message', '', 'disabled' ); if ( '' == $custom_attributes ) { $custom_attributes = array(); } $desc_tip = apply_filters( 'booster_message', '', 'desc_no_link' ); } else { $custom_attributes = array(); $desc_tip = ''; } $settings = array_merge( $settings, array( array( 'title' => $gateway->title, 'desc_tip' => $desc_tip, 'desc' => __( 'Enable for shipping methods', 'woocommerce' ), 'id' => ( $use_shipping_instance ? 'wcj_gateways_by_shipping_enable_instance_' . $key : 'wcj_gateways_by_shipping_enable_' . $key ), 'default' => '', 'type' => 'multiselect', 'class' => 'chosen_select', 'css' => 'width: 450px;', 'options' => $shipping_methods, 'custom_attributes' => array_merge( array( 'data-placeholder' => __( 'Select shipping methods', 'woocommerce' ) ), $custom_attributes ), ), ) ); } $settings = array_merge( $settings, array( array( 'type' => 'sectionend', 'id' => 'wcj_payment_gateways_by_shipping_options', ), ) ); return $settings;