translationManager = $translationManager; add_action( 'admin_menu', array( $this, 'register' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'enqueueAssets' ) ); add_action( 'admin_init', array( $this, 'setScriptTranslations' ) ); } /** * Register the admin page. * * @since 1.0.0 */ public function register() { add_options_page( __( 'Advanced Columns', 'advanced-columns-block' ), __( 'Advanced Columns', 'advanced-columns-block' ), $this->capability, $this->key, function() { echo '
'; }, ); } /** * Set script translations. * * @since 1.0.0 */ public function setScriptTranslations() { $this->translationManager->setScriptTranslation( $this->key . '-script' ); } /** * Enqueue assets in the admin page. * * @since 1.0.0 */ public function enqueueAssets( $hook ) { if ( 'settings_page_advanced-columns-settings' !== $hook ) { return; } $scriptDepsPath = ADVANCED_COLUMNS_FOLDER . '/settings/build/advanced-columns-settings-script.asset.php'; $stylesDepsPath = ADVANCED_COLUMNS_FOLDER . '/settings/build/advanced-columns-settings-styles.asset.php'; if ( Core::instance()->isPro() ) { $scriptDepsPath = str_replace( '.asset.php', '-pro.asset.php', $scriptDepsPath ); $scriptDepsPath = str_replace( 'build', 'build-pro', $scriptDepsPath ); $stylesDepsPath = str_replace( '.asset.php', '-pro.asset.php', $stylesDepsPath ); $stylesDepsPath = str_replace( 'build', 'build-pro', $stylesDepsPath ); } $scriptDeps = include $scriptDepsPath; $stylesDeps = include $stylesDepsPath; $scriptPath = ADVANCED_COLUMNS_URL . 'settings/build/advanced-columns-settings-script.js'; $stylePath = ADVANCED_COLUMNS_URL . 'settings/build/advanced-columns-settings-styles.css'; if ( Core::instance()->isPro() ) { $scriptPath = str_replace( 'build', 'build-pro', $scriptPath ); $scriptPath = str_replace( '.js', '-pro.js', $scriptPath ); $stylePath = str_replace( 'build', 'build-pro', $stylePath ); $stylePath = str_replace( '.css', '-pro.css', $stylePath ); } wp_enqueue_script( $this->key . '-script', $scriptPath, array_merge( $scriptDeps[ 'dependencies' ], array( 'wp-api' ) ), $scriptDeps[ 'version' ], true ); wp_enqueue_style( $this->key . '-styles', $stylePath, array( 'wp-edit-blocks' ), $stylesDeps[ 'version' ] ); } }