web-dev-qa-db-ja.com

管理バーと管理メニューまたはサブメニュー通知バブルを追加するにはどうすればいいですか?

管理バー の操作に関する限り、何を使用することをお勧めしますか?私は新しい管理バーノードを追加することだけを考えていました、そしてCSSでアイコンの背景画像を設定しました。その後、ノードで、単にカウントを出力します。

enter image description here

管理者メニューや管理者サブメニューにバブル通知を追加する方法はわかりません。何かアドバイス?

3
Michael Ecklund

あなたはちょうどCSSでバブル(円)を作成し、その上にテキストサイトを持っています。

CSSの例

span.mbe-update-bubble{
    position: absolute !important;
    top: 6px !important;
    left: 6px !important;
    -webkit-border-radius: 10px !important;
    -khtml-border-radius: 10px !important;
    -moz-border-radius: 10px !important;
    border-radius: 10px !important;
    background: #ccc !important;
    color: #464646 !important;
    width: 10px !important;
    height: 10px !important;
    padding: 3px !important;
    font-size: 11px !important;
    line-height: 10px !important;
    display: inline-block !important;
    text-align: center !important;
    text-shadow: none !important;
    font-weight: bold !important;
}
span.mbe-ab-text{
    position: relative !important;
    margin: 0px -6px !important;
    font-weight: normal !important;
}
span.mbe-ab-text-active{
    position: relative !important;
    margin-left: 14px !important;
    color: #91b1c6 !important;
    font-weight: bold !important;
    text-shadow: 0px 0px 1px #000 !important;
}

保留中の投稿機能を追加します。

function admin_tool_bar($wp_admin_bar){
    global $wp_admin_bar;
    $post_type = 'testimonial';
    $count = wp_count_posts($post_type);
    $args = array(
        'id' => 'mbe_testimonials_pending',
        'href' => admin_url('/edit.php?post_status=pending&post_type='.$post_type, 'http'),
        'parent' => 'top-secondary'
    );
    if($count->pending == 1){
        $title = ' Testimonial Awaiting Moderation';
    } else{
        $title = ' Testimonials Awaiting Moderation';
    }
    $args['meta']['title'] = $title;
    if($count->pending == 0){
        $display = '<span class="mbe-ab-text">'.$count->pending.' '.$title.'</span>';
    } else{
        $display = '<span class="mbe-update-bubble">'.$count->pending.'</span><span class="mbe-ab-text-active">'.$title.'</span>';
    }
    $args['title'] = $display;
    $wp_admin_bar->add_node($args);
}

管理バー項目を追加するには、フックを起動します。add_action('wp_before_admin_bar_render', 'admin_tool_bar', 999);

スクリーンショットの例:

enter image description here

3
Michael Ecklund