Как в admin bar WordPress вывести черновики, комментарии, отзывы WooCommerce и записи форума (Knowledge Base) и рядом указать количество неопубликованных?
в файл functions.php добавим:// Добавляем свои пункты в админ-бар add_action( 'admin_bar_menu', 'true_add_admin_bar_link', 5225 ); function true_add_admin_bar_link( $wp_admin_bar ) { // === Подсчёт непроверенных комментариев === $moderated_comments = 0; $comment_count = wp_count_comments(); if ( isset( $comment_count->moderated ) ) { $moderated_comments = (int) $comment_count->moderated; } // === Подсчёт непроверенных отзывов (WooCommerce) === $pending_reviews = 0; global $wpdb; if ( post_type_exists( 'product' ) ) { $pending_reviews = (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->comments} WHERE comment_approved = '0' AND comment_type = %s", 'review' ) ); } // === Подсчёт черновиков типа 'knowledgebase' (ваш "форум") === $kb_drafts_count = 0; $kb_drafts = wp_count_posts('knowledgebase'); if ( isset( $kb_drafts->draft ) ) { $kb_drafts_count = (int) $kb_drafts->draft; } // === Подсчёт черновиков обычных записей (post) === $post_drafts_count = 0; $post_counts = wp_count_posts('post'); if ( isset( $post_counts->draft ) ) { $post_drafts_count = (int) $post_counts->draft; } // --- Черновики (обычные посты) с выводом количества --- $drafts_title = 'Черновики'; if ( $post_drafts_count > 0 ) { $drafts_title .= ' <span class="awaiting-mod count-' . $post_drafts_count . '">' . $post_drafts_count . '</span>'; } $wp_admin_bar->add_node( array( 'id' => 'mytestmenu2', 'title' => $drafts_title, 'href' => admin_url( 'edit.php?post_status=draft&post_type=post' ) ) ); // --- Отзывы --- $reviews_title = 'Отзывы'; if ( $pending_reviews > 0 ) { $reviews_title .= ' <span class="awaiting-mod count-' . $pending_reviews . '">' . $pending_reviews . '</span>'; } $wp_admin_bar->add_node( array( 'id' => 'mytestmenu10', 'title' => $reviews_title, 'href' => admin_url( 'edit.php?post_type=product&page=product-reviews' ) ) ); // --- комменты --- $comments_title = 'комменты'; if ( $moderated_comments > 0 ) { $comments_title .= ' <span class="awaiting-mod count-' . $moderated_comments . '">' . $moderated_comments . '</span>'; } $wp_admin_bar->add_node( array( 'id' => 'mytestmenu4', 'title' => $comments_title, 'href' => admin_url( 'edit-comments.php' ) ) ); // --- ФОРУМ (черновики knowledgebase) — сразу после комментов --- $forum_title = 'Форум'; if ( $kb_drafts_count > 0 ) { $forum_title .= ' <span class="awaiting-mod count-' . $kb_drafts_count . '">' . $kb_drafts_count . '</span>'; } $wp_admin_bar->add_node( array( 'id' => 'mytestmenu_kb_forum', 'title' => $forum_title, 'href' => admin_url( 'edit.php?post_status=draft&post_type=knowledgebase' ) ) ); }
15.07.2026 /