Не удалось найти подходящий хук WooCommerce для страницы order-pay
. Я решил добавить действие для wp_enqueue_scripts
и загружать свои сценарии только в том случае, если активен соответствующий маршрут.
В моем конструкторе плагинов:
function __contstruct {
// other stuff
add_action( 'wp_enqueue_scripts', array( $this, 'load_my_order_pay_scripts' ) );
}
Функция загрузки моих скриптов:
public function load_my_order_pay_scripts() {
if( !is_wc_endpoint_url( 'order-pay' ) ) return;
global $wp;
$order_id = $wp->query_vars['order-pay'];
$order = wc_get_order( $order_id );
wp_enqueue_script( 'my-js-sdk', 'http://my.cdn.com/my-js-sdk.js', true );
wp_register_script( 'my-plugin-script', plugin_dir_url( __FILE__ ) . '/js/my-plugin-script.js', true );
wp_localize_script( 'my-plugin-script', 'params', $this->script_parameters, true ); // I need to pass my script some data
wp_enqueue_script( 'my-plugin-script', array('my-js-sdk'), true ); // my plugin's JS is dependent on my SDK
}