get_widget_title(), [ $this, 'render_widget' ], 'dashboard', 'column3', 'high' ); } /** * Get widget title markup * @return string */ private function get_widget_title(): string { return ' ' . esc_html__( 'Site Management', 'elementor-one' ) . ''; } /** * Render widget mount node * @return void */ public function render_widget() { printf( '
', esc_attr( self::MOUNT_NODE_ID ) ); } /** * Enqueue widget assets * @param string $hook * @return void */ public function enqueue_assets( $hook ) { if ( 'index.php' !== $hook || ! current_user_can( 'manage_options' ) ) { return; } $resolved = ManageWidgetState::resolve_with_meta(); $state = $resolved['state']; if ( ManageWidgetState::STATE_ACTIVE === $state ) { return; } $this->enqueue_skeleton_assets( $resolved ); } /** * Enqueue skeleton widget assets * @param array{state: string, isWidgetDelegated: bool} $resolved * @return void */ private function enqueue_skeleton_assets( array $resolved ) { $state = $resolved['state']; $package_version = Utils::get_latest_package_version(); $asset_file = ELEMENTOR_ONE_ASSETS_PATH . 'manage-dashboard-widget.asset.php'; $asset = file_exists( $asset_file ) ? include $asset_file : [ 'dependencies' => [], 'version' => $package_version, ]; wp_enqueue_script( self::ASSET_HANDLE, ELEMENTOR_ONE_ASSETS_URL . 'manage-dashboard-widget.js', $asset['dependencies'], $asset['version'], true ); wp_enqueue_style( self::ASSET_HANDLE, ELEMENTOR_ONE_ASSETS_URL . 'manage-dashboard-widget.css', [], $package_version ); wp_add_inline_script( self::ASSET_HANDLE, 'window.elementorOneManageWidgetData = ' . wp_json_encode( [ 'state' => $state, 'isRTL' => is_rtl(), 'links' => [ 'updatesPage' => admin_url( 'update-core.php' ), ], 'isWidgetDelegated' => $resolved['isWidgetDelegated'], ] ) . ';', 'before' ); } }