問題描述

雖然我非常喜歡管理員欄,但我實際上希望將其關閉,而不是 ON(我不想停用它,因為我希望使用者能夠開啟它,但是我不會想要為每個使用者手動關閉它) 有沒有辦法實現這一點。

最佳解決方案

add_action("user_register", "set_user_admin_bar_false_by_default", 10, 1);
function set_user_admin_bar_false_by_default($user_id) {
    update_user_meta( $user_id, 'show_admin_bar_front', 'false' );
    update_user_meta( $user_id, 'show_admin_bar_admin', 'false' );
}

放置在主題功能檔案中,或者您可以進入外掛。

一旦使用者註冊,將會將使用者管理欄設定為 false 。一旦登入,使用者就可以將其設定為 true 。

次佳解決方案

function wpse29210_admin_bar_toogle()
{
    add_filter( 'show_admin_bar', '__return_false' );

    $user = get_userdata( $GLOBALS['current_user'] )->data->ID;

    if ( ! is_admin() && $user->show_admin_bar_front )
        add_filter( 'show_admin_bar', '__return_true' );

    if ( is_admin() && $user->show_admin_bar_admin )
        add_filter( 'show_admin_bar', '__return_true' );

    return;
}
add_action( 'init', 'wpse29210_admin_bar_toogle' );

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。