函数文档

wp_admin_bar_comments_menu()

💡 云策文档标注

概述

wp_admin_bar_comments_menu() 函数用于在 WordPress 管理工具栏中添加一个编辑评论链接,并显示待审核评论数量的气泡。它检查用户权限,获取待审核评论数,并生成本地化文本。

关键要点

  • 函数向 WP_Admin_Bar 实例添加一个节点,链接到评论编辑页面。
  • 使用 wp_count_comments() 获取待审核评论数,并通过 _n() 和 number_format_i18n() 进行本地化处理。
  • 仅当用户具有 'edit_posts' 权限时才执行,否则直接返回。
  • 相关函数包括 WP_Admin_Bar::add_node()、current_user_can() 和 admin_url() 等。

代码示例

function wp_admin_bar_comments_menu( $wp_admin_bar ) {
    if ( ! current_user_can( 'edit_posts' ) ) {
        return;
    }

    $awaiting_mod  = wp_count_comments();
    $awaiting_mod  = $awaiting_mod->moderated;
    $awaiting_text = sprintf(
        /* translators: Hidden accessibility text. %s: Number of comments. */
        _n( '%s Comment in moderation', '%s Comments in moderation', $awaiting_mod ),
        number_format_i18n( $awaiting_mod )
    );

    $icon   = '';
    $title  = '' . number_format_i18n( $awaiting_mod ) . '';
    $title .= '' . $awaiting_text . '';

    $wp_admin_bar->add_node(
        array(
            'id'    => 'comments',
            'title' => $icon . $title,
            'href'  => admin_url( 'edit-comments.php' ),
        )
    );
}

📄 原文内容

Adds edit comments link with awaiting moderation count bubble.

Parameters

$wp_admin_barWP_Admin_Barrequired
The WP_Admin_Bar instance.

Source

function wp_admin_bar_comments_menu( $wp_admin_bar ) {
	if ( ! current_user_can( 'edit_posts' ) ) {
		return;
	}

	$awaiting_mod  = wp_count_comments();
	$awaiting_mod  = $awaiting_mod->moderated;
	$awaiting_text = sprintf(
		/* translators: Hidden accessibility text. %s: Number of comments. */
		_n( '%s Comment in moderation', '%s Comments in moderation', $awaiting_mod ),
		number_format_i18n( $awaiting_mod )
	);

	$icon   = '<span class="ab-icon" aria-hidden="true"></span>';
	$title  = '<span class="ab-label awaiting-mod pending-count count-' . $awaiting_mod . '" aria-hidden="true">' . number_format_i18n( $awaiting_mod ) . '</span>';
	$title .= '<span class="screen-reader-text comments-in-moderation-text">' . $awaiting_text . '</span>';

	$wp_admin_bar->add_node(
		array(
			'id'    => 'comments',
			'title' => $icon . $title,
			'href'  => admin_url( 'edit-comments.php' ),
		)
	);
}

Changelog

Version Description
3.1.0 Introduced.