PluginProbe
Analytify – Google Analytics Dashboard For WordPress (GA4 analytics tracking) / trunk
Analytify – Google Analytics Dashboard For WordPress (GA4 analytics tracking) vtrunk
9.1.2 9.1.1 9.1.0 9.0.2 9.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.1.0 1.1.1 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 All 153 releases
wp-analytify / inc / class-analytify-adminbar.php

class-analytify-adminbar.php in Analytify – Google Analytics Dashboard For WordPress (GA4 analytics tracking) trunk, at inc/class-analytify-adminbar.php

101 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName -- File naming is acceptable
2 /**
3 * Analytify Admin Bar
4 *
5 * @package WP_Analytify
6 * @since 8.0.0
7 */
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 // exit if accessed directly.
11 exit;
12 }
13
14 /**
15 * Analytify Admin Bar Class
16 */
17 class WP_ANALYTIFY_ADMIN_BAR {
18
19 /**
20 * Initialize Admin Bar.
21 *
22 * @return void
23 */
24 public function init() {
25 add_action( 'admin_bar_menu', array( $this, 'admin_bar_menu' ), 90 );
26 }
27
28
29 /**
30 * Add Analytify menu to admin bar
31 *
32 * @param mixed $wp_admin_bar WordPress admin bar object.
33 * @return void
34 */
35 public function admin_bar_menu( $wp_admin_bar ) {
36
37 global $tag, $wp_the_query;
38 $current_object = $wp_the_query->get_queried_object();
39 $menus = array();
40
41 $is_access_level = $GLOBALS['WP_ANALYTIFY']->settings->get_option( 'show_analytics_roles_dashboard', 'wp-analytify-dashboard', array( 'administrator' ) );
42
43 if ( $GLOBALS['WP_ANALYTIFY']->pa_check_roles( $is_access_level ) ) {
44
45 $wp_admin_bar->add_node(
46 array(
47 'id' => 'analytify',
48 'title' => '<span class="ab-icon"></span><span id="ab-analytify" class="ab-label">Analytify</span>',
49 'href' => get_admin_url( null, 'admin.php?page=analytify-dashboard' ),
50 'meta' => array( 'title' => __( 'Analytify QuickLinks', 'wp-analytify' ) ),
51 )
52 );
53
54 $menus['analytify-dashboard'] = esc_html__( 'Dashboard', 'wp-analytify' );
55 $menus['analytify-refresh-stats'] = esc_html__( 'Refresh Statistics', 'wp-analytify' );
56
57 $menus = apply_filters( 'analytify_admin_bar_menu', $menus );
58
59 if ( current_user_can( 'manage_options' ) ) {
60 $menus['analytify-settings'] = esc_html__( 'Settings', 'wp-analytify' );
61 }
62
63 foreach ( $menus as $id => $title ) {
64
65 // Add refresh stat button in admin bar.
66 if ( 'analytify-refresh-stats' === $id ) {
67
68 $url = admin_url( 'admin-post.php?action=analytify_delete_cache' );
69
70 $wp_admin_bar->add_node(
71 array(
72 'parent' => 'analytify',
73 'id' => $id,
74 'title' => $title,
75 'href' => add_query_arg(
76 array(
77 'analytify_delete_cache_nonce' => wp_create_nonce( 'analytify_delete_cache' ),
78 ),
79 $url
80 ),
81 )
82 );
83 continue;
84 }
85 $wp_admin_bar->add_node(
86 array(
87 'parent' => 'analytify',
88 'id' => $id,
89 'title' => $title,
90 'href' => get_admin_url( null, 'admin.php?page=' . $id ),
91
92 )
93 );
94 }
95 }
96 }
97 }
98
99 $admin_bar = new WP_ANALYTIFY_ADMIN_BAR();
100 $admin_bar->init();
101