private static $is_wpml_wcml_page;
private static $woocommerce_wpml;
private static $sitepress;
public static function add_hooks() {
add_action( 'admin_enqueue_scripts', [ __CLASS__, 'admin_scripts' ] );
add_action( 'wp_enqueue_scripts', [ __CLASS__, 'front_scripts' ] );
public static function set_up_resources( $woocommerce_wpml, $sitepress ) {
self::$woocommerce_wpml = $woocommerce_wpml;
self::$sitepress = $sitepress;
self::$page = isset( $_GET['page'] ) ? $_GET['page'] : null;
self::$tab = isset( $_GET['tab'] ) ? $_GET['tab'] : null;
self::$is_wpml_wcml_page = self::$page == 'wpml-wcml';
self::$pagenow = $pagenow;
$is_edit_product = self::$pagenow == 'post.php' && isset( $_GET['post'] ) && get_post_type( $_GET['post'] ) == 'product';
$is_original_product = isset( $_GET['post'] ) && ! is_array( $_GET['post'] ) && self::$woocommerce_wpml->products->is_original_product( $_GET['post'] );
$is_new_product = self::$pagenow == 'post-new.php' && isset( $_GET['source_lang'] ) && isset( $_GET['post_type'] ) && $_GET['post_type'] == 'product';
if ( self::$woocommerce_wpml->is_wpml_prior_4_2() ) {
$is_using_native_editor = ! self::$woocommerce_wpml->settings['trnsl_interface'];
$tm_settings = $sitepress->get_setting( 'translation-management', [] );
if ( $is_edit_product ) {
$is_using_native_editor = WPML_TM_Post_Edit_TM_Editor_Mode::is_using_tm_editor( self::$sitepress, filter_var( $_GET['post'], FILTER_SANITIZE_NUMBER_INT ) );
$is_using_native_editor = isset( $tm_settings[ WPML_TM_Post_Edit_TM_Editor_Mode::TM_KEY_FOR_POST_TYPE_USE_NATIVE ]['product'] ) ? $tm_settings[ WPML_TM_Post_Edit_TM_Editor_Mode::TM_KEY_FOR_POST_TYPE_USE_NATIVE ]['product'] : false;
if ( ! $is_using_native_editor ) {
$is_using_native_editor = isset( $tm_settings[ WPML_TM_Post_Edit_TM_Editor_Mode::TM_KEY_GLOBAL_USE_NATIVE ] ) ? $tm_settings[ WPML_TM_Post_Edit_TM_Editor_Mode::TM_KEY_GLOBAL_USE_NATIVE ] : false;
if ( ( $is_edit_product && ! $is_original_product ) || $is_new_product && $is_using_native_editor ) {
add_action( 'init', [ __CLASS__, 'load_lock_fields_js' ] );
add_action( 'admin_footer', [ __CLASS__, 'hidden_label' ] );
private static function load_css() {
if ( self::$is_wpml_wcml_page || self::$page == WPML_TM_FOLDER . '/menu/translations-queue.php' ) {