Skip to content

Commit c113c1d

Browse files
authored
Merge pull request #24 from humanmade/better-admin-bar-flags
Better admin bar flags
2 parents fae9d59 + 667e831 commit c113c1d

File tree

1 file changed

+31
-3
lines changed

1 file changed

+31
-3
lines changed

inc/admin-bar.php

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ function bootstrap() : void {
3232
*/
3333
function enqueue_styles() {
3434
$css = "
35+
#wp-admin-bar-flags .ab-item {
36+
cursor: pointer;
37+
}
3538
#wp-admin-bar-flags .ab-icon:before {
3639
content: \"\\f227\";
3740
}
@@ -44,10 +47,27 @@ function enqueue_styles() {
4447
padding-left: 0.4em;
4548
padding-bottom: 0.2em;
4649
}
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 }
4752
#wp-admin-bar-flags .ab-submenu .optin-1.active-1 .ab-item { color: lightgreen }
4853
#wp-admin-bar-flags .ab-submenu .optin-1.active-0 .ab-item {}
4954
#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+
}";
5171
wp_add_inline_style( 'admin-bar', $css );
5272
}
5373

@@ -57,12 +77,20 @@ function enqueue_styles() {
5777
function render() {
5878
/* @var $wp_admin_bar \WP_Admin_Bar Admin bar class */
5979
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+
6085
$wp_admin_bar->add_menu( [
6186
'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+
],
6391
] );
6492

65-
array_map( __NAMESPACE__ . '\add_flag_node', wp_list_filter( Flags::get_all(), [ 'available' => true ] ) );
93+
array_map( __NAMESPACE__ . '\add_flag_node', $available_flags );
6694
}
6795

6896
/**

0 commit comments

Comments
 (0)