settings['hide_from_admin_bar'])) { add_action( 'admin_bar_menu', array( $this, 'topBarInfo' ), 81 ); } } /** * @param $wp_admin_bar */ public function topBarInfo($wp_admin_bar) { $topTitle = WPACU_PLUGIN_TITLE; $wpacuUnloadedAssetsStatus = false; if (! is_admin()) { $markedCssListForUnload = isset(Main::instance()->allUnloadedAssets['styles']) ? array_unique(Main::instance()->allUnloadedAssets['styles']) : array(); $markedJsListForUnload = isset(Main::instance()->allUnloadedAssets['scripts']) ? array_unique(Main::instance()->allUnloadedAssets['scripts']) : array(); // [wpacu_lite] // Do not print any irrelevant data from the Pro version such as hardcoded CSS/JS $markedCssListForUnload = array_filter($markedCssListForUnload, function($value) { if (strpos($value, 'wpacu_hardcoded_style_') === 0) { return false; } return $value; }); $markedJsListForUnload = array_filter($markedJsListForUnload, function($value) { if (strpos($value, 'wpacu_hardcoded_script_') === 0) { return false; } return $value; }); // [/wpacu_lite] $wpacuUnloadedAssetsStatus = (count($markedCssListForUnload) + count($markedJsListForUnload)) > 0; } if ($wpacuUnloadedAssetsStatus) { $styleAttrType = Misc::getStyleTypeAttribute(); $cssStyle = << #wpadminbar .wpacu-alert-sign-top-admin-bar { font-size: 20px; color: lightyellow; vertical-align: top; margin: -7px 0 0; display: inline-block; box-sizing: border-box; } #wp-admin-bar-assetcleanup-plugin-unload-rules-notice-default .ab-item { min-width: 250px !important; } #wp-admin-bar-assetcleanup-plugin-unload-rules-notice .ab-item > .dashicons-admin-plugins { width: 20px; height: 20px; font-size: 20px; line-height: normal; vertical-align: middle; margin-top: -2px; } HTML; $topTitle .= $cssStyle . ' '; } if (Main::instance()->settings['test_mode']) { $topTitle .= '  TEST MODE is ON'; } $goBackToCurrentUrl = '&_wp_http_referer=' . urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ); $wp_admin_bar->add_menu(array( 'id' => 'assetcleanup-parent', 'title' => $topTitle, 'href' => esc_url(admin_url('admin.php?page=' . WPACU_PLUGIN_ID . '_settings')) )); $wp_admin_bar->add_menu(array( 'parent' => 'assetcleanup-parent', 'id' => 'assetcleanup-settings', 'title' => __('Settings', 'wp-asset-clean-up'), 'href' => esc_url(admin_url( 'admin.php?page=' . WPACU_PLUGIN_ID . '_settings')) )); $wp_admin_bar->add_menu( array( 'parent' => 'assetcleanup-parent', 'id' => 'assetcleanup-clear-css-js-files-cache', 'title' => __('Clear CSS/JS Files Cache', 'wp-asset-clean-up'), 'href' => esc_url(wp_nonce_url( admin_url( 'admin-post.php?action=assetcleanup_clear_assets_cache' . $goBackToCurrentUrl ), 'assetcleanup_clear_assets_cache' )) ) ); // Only trigger in the front-end view if (! is_admin()) { if ( ! Misc::isHomePage() ) { // Not on the home page $homepageManageAssetsHref = Main::instance()->frontendShow() ? get_site_url().'#wpacu_wrap_assets' : esc_url(admin_url( 'admin.php?page=' . WPACU_PLUGIN_ID . '_assets_manager&wpacu_for=homepage' )); $wp_admin_bar->add_menu(array( 'parent' => 'assetcleanup-parent', 'id' => 'assetcleanup-homepage', 'title' => esc_html__('Manage Homepage Assets', 'wp-asset-clean-up'), 'href' => $homepageManageAssetsHref )); } else { // On the home page // Front-end view is disabled! Go to Dashboard link if ( ! Main::instance()->frontendShow() ) { $wp_admin_bar->add_menu( array( 'parent' => 'assetcleanup-parent', 'id' => 'assetcleanup-homepage', 'title' => esc_html__('Manage Homepage Assets', 'wp-asset-clean-up'), 'href' => esc_url(admin_url('admin.php?page=' . WPACU_PLUGIN_ID . '_assets_manager&wpacu_for=homepage')), 'meta' => array('target' => '_blank') ) ); } } } if (! is_admin()) { if (Main::instance()->frontendShow()) { $wp_admin_bar->add_menu( array( 'parent' => 'assetcleanup-parent', 'id' => 'assetcleanup-jump-to-assets-list', // language: alias of 'Manage Page Assets' 'title' => esc_html__( 'Manage Current Page Assets', 'wp-asset-clean-up' ) . ' ', 'href' => '#wpacu_wrap_assets' ) ); } elseif (is_singular()) { global $post; if (isset($post->ID)) { $wp_admin_bar->add_menu( array( 'parent' => 'assetcleanup-parent', 'id' => 'assetcleanup-manage-page-assets-dashboard', // language: alias of 'Manage Page Assets' 'title' => esc_html__('Manage Current Page Assets', 'wp-asset-clean-up'), 'href' => esc_url(admin_url('admin.php?page=' . WPACU_PLUGIN_ID . '_assets_manager&wpacu_post_id='.$post->ID)), 'meta' => array('target' => '_blank') ) ); } } } $wp_admin_bar->add_menu(array( 'parent' => 'assetcleanup-parent', 'id' => 'assetcleanup-bulk-unloaded', 'title' => esc_html__('Bulk Changes', 'wp-asset-clean-up'), 'href' => esc_url(admin_url( 'admin.php?page=' . WPACU_PLUGIN_ID . '_bulk_unloads')) )); $wp_admin_bar->add_menu( array( 'parent' => 'assetcleanup-parent', 'id' => 'assetcleanup-overview', 'title' => esc_html__('Overview', 'wp-asset-clean-up'), 'href' => esc_url(admin_url( 'admin.php?page=' . WPACU_PLUGIN_ID . '_overview')) ) ); $wp_admin_bar->add_menu(array( 'parent' => 'assetcleanup-parent', 'id' => 'assetcleanup-support-forum', 'title' => esc_html__('Support Forum', 'wp-asset-clean-up'), 'href' => 'https://wordpress.org/support/plugin/wp-asset-clean-up', 'meta' => array('target' => '_blank') )); // [START LISTING UNLOADED ASSETS] if (! is_admin()) { // Frontend view (show any unloaded handles) $totalUnloadedAssets = count($markedCssListForUnload) + count($markedJsListForUnload); if ($totalUnloadedAssets > 0) { $titleUnloadText = sprintf( _n( '%d unload asset rules took effect on this frontend page', '%d unload asset rules took effect on this frontend page', $totalUnloadedAssets, 'wp-asset-clean-up' ), $totalUnloadedAssets ); $wp_admin_bar->add_menu( array( 'parent' => 'assetcleanup-parent', 'id' => 'assetcleanup-asset-unload-rules-notice', 'title' => '   '. $titleUnloadText, 'href' => '#' ) ); if ( count( $markedCssListForUnload ) > 0 ) { $wp_admin_bar->add_menu(array( 'parent' => 'assetcleanup-asset-unload-rules-notice', 'id' => 'assetcleanup-asset-unload-rules-css', 'title' => esc_html__('CSS', 'wp-asset-clean-up'). ' ('.count( $markedCssListForUnload ).')', 'href' => '#' )); sort($markedCssListForUnload); foreach ($markedCssListForUnload as $cssHandle) { $wp_admin_bar->add_menu(array( 'parent' => 'assetcleanup-asset-unload-rules-css', 'id' => 'assetcleanup-asset-unload-rules-css-'.$cssHandle, 'title' => $cssHandle, 'href' => esc_url(admin_url('admin.php?page=wpassetcleanup_overview#wpacu-overview-css-'.$cssHandle)) )); } } if ( count( $markedJsListForUnload ) > 0 ) { $wp_admin_bar->add_menu(array( 'parent' => 'assetcleanup-asset-unload-rules-notice', 'id' => 'assetcleanup-asset-unload-rules-js', 'title' => esc_html__('JavaScript', 'wp-asset-clean-up'). ' ('.count( $markedJsListForUnload ).')', 'href' => '#' )); sort($markedJsListForUnload); foreach ($markedJsListForUnload as $jsHandle) { $wp_admin_bar->add_menu(array( 'parent' => 'assetcleanup-asset-unload-rules-js', 'id' => 'assetcleanup-asset-unload-rules-js-'.$jsHandle, 'title' => $jsHandle, 'href' => esc_url(admin_url('admin.php?page=wpassetcleanup_overview#wpacu-overview-js-'.$jsHandle)) )); } } } } // [END LISTING UNLOADED ASSETS] } }