From de3946e5ab847a73f64bdb40a66e804723a9cdab Mon Sep 17 00:00:00 2001 From: Adrian Date: Fri, 24 Jul 2020 19:42:32 +0100 Subject: [PATCH 1/2] Made dropdown menu into a toggle feature --- inc/admin-bar.php | 46 ++++++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/inc/admin-bar.php b/inc/admin-bar.php index c4dcf2d..5457d6c 100644 --- a/inc/admin-bar.php +++ b/inc/admin-bar.php @@ -16,27 +16,28 @@ function content_audit_admin_bar_links() { $wp_admin_bar->add_menu( array( 'parent' => false, 'id' => 'content_audit', - 'title' => __( 'Audit', 'content-audit' ), - 'href' => get_edit_post_link( $post->ID ), - 'meta' => false + 'title' => __('Audit', 'content-audit'), + 'meta' => false ) ); $auditterms = get_terms( 'content_audit', array( 'hide_empty' => false ) ); if ( !empty( $auditterms ) ) - foreach ( $auditterms as $term ) { - $url = add_query_arg( array( 'action' => 'content-audit-categorize', - 'term' => $term->slug, - 'post_id' => $post->ID, - 'return' => $_SERVER["REQUEST_URI"], - 'nonce' => $nonce, - ), admin_url( '/admin-ajax.php' ) ); - - $title = $term->name; - if ( has_term( $term->term_id, 'content_audit', $post->ID ) ) { - $title = '✓ ' . $title; - } - - $wp_admin_bar->add_menu( array( + foreach ($auditterms as $term) { + $title = $term->name; + $checked = has_term($term->term_id, 'content_audit', $post->ID); + if ($checked) { + $title = '✓ ' . $title; + }; + $url = add_query_arg( + array('action' => 'content-audit-categorize', + 'checked' => $checked, + 'term' => $term->slug, + 'post_id' => $post->ID, + 'return' => $_SERVER["REQUEST_URI"], + 'nonce' => $nonce, + ), admin_url('/admin-ajax.php')); + + $wp_admin_bar->add_menu( array( 'parent' => 'content_audit', 'id' => 'content_audit_' . $term->slug, 'title' => $title, @@ -110,9 +111,14 @@ function content_audit_ajax_categorize() { if ( $term == 'audited' ) $append = false; - $set = wp_set_object_terms( $id, $term, $tax->name, $append ); - - if ( is_wp_error( $set ) ) + if (isset($_GET['checked'])) { + $set = wp_remove_object_terms($id, $term, $tax->name); + } + else { + $set = wp_set_object_terms($id, $term, $tax->name, $append); + } + + if ( is_wp_error( $set ) ) echo $set->get_error_message(); wp_redirect( esc_url( $_GET['return'] ) ); From abcfb055b5a7270a2c0c6e135183ef5d36af2a7a Mon Sep 17 00:00:00 2001 From: Adrian Date: Fri, 24 Jul 2020 20:59:14 +0100 Subject: [PATCH 2/2] Moved if back to original location --- inc/admin-bar.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/inc/admin-bar.php b/inc/admin-bar.php index 5457d6c..0700ef3 100644 --- a/inc/admin-bar.php +++ b/inc/admin-bar.php @@ -25,9 +25,6 @@ function content_audit_admin_bar_links() { foreach ($auditterms as $term) { $title = $term->name; $checked = has_term($term->term_id, 'content_audit', $post->ID); - if ($checked) { - $title = '✓ ' . $title; - }; $url = add_query_arg( array('action' => 'content-audit-categorize', 'checked' => $checked, @@ -37,6 +34,10 @@ function content_audit_admin_bar_links() { 'nonce' => $nonce, ), admin_url('/admin-ajax.php')); + if ($checked) { + $title = '✓ ' . $title; + }; + $wp_admin_bar->add_menu( array( 'parent' => 'content_audit', 'id' => 'content_audit_' . $term->slug,