修改管理侧栏内容以显示挂起的帖子指示器

时间:2010-11-11 作者:Nacho

我一直在尝试在管理员侧栏上显示一个待处理的计数,用于待处理的帖子,例如待处理评论中出现的小气泡:

Comments pending bubble

离题题:我是不是唯一一个认为这应该是核心行为的人?我应该在哪里推荐此功能?

总之,我发现this plugin, 但我注意到它并不总是奏效。有时,通知程序会出现在页面或其他项目上。

它用于添加挂起计数的代码如下所示:

$menu[5][0] .= " <span class=\'update-plugins count-$pending_count\'><span class=\'plugin-count\'>" . number_format_i18n($pending_count) . \'</span></span>\';
所以,很明显,问题是那里的硬编码5,但我如何才能更新它,使其始终指向帖子?

如果我们知道答案,我很乐意将此更改提交给插件。

谢谢

3 个回复
最合适的回答,由SO网友:t31os 整理而成

@ign

将您发布的代码行替换为以下内容。。

foreach( $menu as $menu_key => $menu_data ) :
    if( \'edit.php\' != $menu_data[2] )
        continue;
    $menu[$menu_key][0] .= " <span class=\'update-plugins count-$pending_count\'><span class=\'plugin-count\'>" . number_format_i18n($pending_count) . \'</span></span>\';
endforeach;
。。那个should 避免需要知道特定的密钥。。(如果有任何问题,请告诉我)。。

希望有帮助:)

SO网友:somatic

作为t31os回答的后续内容,以下是所需的完整代码(结合t31os修复中提到的插件内容),以及处理自定义帖子类型的修改:

add_filter( \'add_menu_classes\', \'show_pending_number\');
function show_pending_number( $menu ) {
    $type = "animals";
    $status = "pending";
    $num_posts = wp_count_posts( $type, \'readable\' );
    $pending_count = 0;
    if ( !empty($num_posts->$status) )
        $pending_count = $num_posts->$status;

    // build string to match in $menu array
    if ($type == \'post\') {
        $menu_str = \'edit.php\';
    } else {
        $menu_str = \'edit.php?post_type=\' . $type;
    }

    // loop through $menu items, find match, add indicator
    foreach( $menu as $menu_key => $menu_data ) {
        if( $menu_str != $menu_data[2] )
            continue;
        $menu[$menu_key][0] .= " <span class=\'update-plugins count-$pending_count\'><span class=\'plugin-count\'>" . number_format_i18n($pending_count) . \'</span></span>\';
    }
    return $menu;
}
将其放入函数中。php,无需插件。

SO网友:Davs Howard

我对Social的帖子做了一点修改,允许多种帖子类型:

// Add pending numbers to post types on admin menu
function show_pending_number($menu) {    
    $types = array("post", "page", "custom-post-type");
    $status = "pending";
    foreach($types as $type) {
        $num_posts = wp_count_posts($type, \'readable\');
        $pending_count = 0;
        if (!empty($num_posts->$status)) $pending_count = $num_posts->$status;

        if ($type == \'post\') {
            $menu_str = \'edit.php\';
        } else {
            $menu_str = \'edit.php?post_type=\' . $type;
        }

        foreach( $menu as $menu_key => $menu_data ) {
            if( $menu_str != $menu_data[2] )
                continue;
            $menu[$menu_key][0] .= " <span class=\'update-plugins count-$pending_count\'><span class=\'plugin-count\'>" . number_format_i18n($pending_count) . \'</span></span>\';
            }
        }
    return $menu;
}
add_filter(\'add_menu_classes\', \'show_pending_number\');

结束

相关推荐

Encryption of Wordpress Posts

我一直在寻找一个完全私有的Wordpress博客,并在这一过程中找到了有用的博客/教程,如David Hewsons pretty detailed walkthrough.我目前有一个很好的私有系统(在线),需要登录凭据才能访问博客,现在问题就出在这里。我担心,如果我的web服务器遭到某种方式的黑客攻击(我不会不知道这可能会发生),并且我的数据库被访问,那么我的所有帖子都会被查看,从而破坏所有前端的隐私工作。我一直在寻找预构建的解决方案来加密帖子本身,但目前还不存在任何解决方案,我需要的是在编写Word