@@ -32,6 +32,9 @@ function bootstrap() : void {
32
32
*/
33
33
function enqueue_styles () {
34
34
$ css = "
35
+ #wp-admin-bar-flags .ab-item {
36
+ cursor: pointer;
37
+ }
35
38
#wp-admin-bar-flags .ab-icon:before {
36
39
content: \"\\f227 \";
37
40
}
@@ -44,10 +47,27 @@ function enqueue_styles() {
44
47
padding-left: 0.4em;
45
48
padding-bottom: 0.2em;
46
49
}
50
+ #wp-admin-bar-flags.has-active-flags > .ab-item,
51
+ #wp-admin-bar-flags.has-active-flags > .ab-item > .ab-icon::before { color: lightgreen }
47
52
#wp-admin-bar-flags .ab-submenu .optin-1.active-1 .ab-item { color: lightgreen }
48
53
#wp-admin-bar-flags .ab-submenu .optin-1.active-0 .ab-item {}
49
54
#wp-admin-bar-flags .ab-submenu .optin-0.active-1 .ab-item { color: lightgreen }
50
- #wp-admin-bar-flags .ab-submenu .optin-0.active-0 .ab-item { } " ;
55
+ #wp-admin-bar-flags .ab-submenu .optin-0.active-0 .ab-item { }
56
+ #wp-admin-bar-flags .flag-count {
57
+ display: inline-block;
58
+ vertical-align: text-bottom;
59
+ box-sizing: border-box;
60
+ margin: 1px 0 -1px 0.5em;
61
+ padding: 0 5px;
62
+ min-width: 18px;
63
+ height: 18px;
64
+ border-radius: 9px;
65
+ background-color: lightgreen;
66
+ color: black;
67
+ font-size: 11px;
68
+ line-height: 1.6;
69
+ text-align: center;
70
+ } " ;
51
71
wp_add_inline_style ( 'admin-bar ' , $ css );
52
72
}
53
73
@@ -57,12 +77,20 @@ function enqueue_styles() {
57
77
function render () {
58
78
/* @var $wp_admin_bar \WP_Admin_Bar Admin bar class */
59
79
global $ wp_admin_bar ;
80
+
81
+ $ available_flags = wp_list_filter ( Flags::get_all (), [ 'available ' => true ] );
82
+ $ active_flags = wp_list_filter ( $ available_flags , [ 'active ' => true ] );
83
+ $ flag_count = ! empty ( $ active_flags ) ? '<span class="flag-count"> ' . count ( $ active_flags ) . '</span> ' : '' ;
84
+
60
85
$ wp_admin_bar ->add_menu ( [
61
86
'id ' => 'flags ' ,
62
- 'title ' => '<span class="ab-icon"></span> ' . esc_html__ ( 'Flags ' , 'wp-flags ' ),
87
+ 'title ' => '<span class="ab-icon"></span> ' . esc_html__ ( 'Flags ' , 'wp-flags ' ) . $ flag_count ,
88
+ 'meta ' => [
89
+ 'class ' => $ flag_count > 0 ? 'has-active-flags ' : 'no-active-flags ' ,
90
+ ],
63
91
] );
64
92
65
- array_map ( __NAMESPACE__ . '\add_flag_node ' , wp_list_filter ( Flags:: get_all (), [ ' available ' => true ] ) );
93
+ array_map ( __NAMESPACE__ . '\add_flag_node ' , $ available_flags );
66
94
}
67
95
68
96
/**
0 commit comments