it-swarm.com.de

Entfernen Sie die Admin-Leiste für Abonnenten

Ich habe eine Mitgliederseite. Ich muss die Admin-Leiste für die Abonnenten deaktivieren.

Ich habe diesen Code unten verwendet:

add_action('after_setup_theme', 'remove_admin_bar');

function remove_admin_bar() {
if (!current_user_can('administrator') && !is_admin()) {
  show_admin_bar(false);
}
}

dadurch wird die Admin-Leiste vom Frontend für den Abonnenten entfernt. Wenn er jedoch zu seiner Profilseite wp-admin/profile.php wechselt, wird die Admin-Leiste dort weiterhin angezeigt.

Ich benutze das Paid Membership Pro-Plugin, von dem ich glaube, dass der Code im Backend für Abonnenten nicht funktioniert.

Außerdem habe ich diesen Code verwendet, um die Admin-Leiste von überall zu entfernen:

if (!function_exists('disableAdminBar')) {

    function disableAdminBar(){

    remove_action( 'admin_footer', 'wp_admin_bar_render', 1000 );

    function remove_admin_bar_style_backend() {
      echo '<style>body.admin-bar #wpcontent, body.admin-bar #adminmenu { padding-top: 0px !important; }</style>';
    }

    add_filter('admin_head','remove_admin_bar_style_backend');

  }

}

add_filter('admin_head','remove_admin_bar_style_backend');

Dieser Code funktioniert aber auch nicht.

Ich möchte nur die Admin-Leiste für die Abonnenten sowohl von der Frontend- als auch von der Backend-Seite entfernen.

Gibt es einen bestimmten Code, den ich vermisse? Ich benutze Bezahlte Mitgliedschaft Pro .

Danke für die Hilfe.

1
Jitendra Mishra

Ich habe schnell nachgeforscht, und ich glaube nicht, dass Sie dies mit einer Funktion tun können, wie im Codex angegeben.

Hinweis: Die Symbolleiste kann nicht mehr ausgeblendet werden, wenn die Administrationsbildschirme angezeigt werden. Benutzer können sie jedoch im Front-End der Site in ihrem Profilbildschirm deaktivieren.

Das Deaktivieren im Frontend führt zu denselben Ergebnissen wie zuvor.

Ich würde vorschlagen, es mit CSS zu verstecken.

#wpadminbar {
    display: none;
}
html {
    padding-top: 0; // Move up the page's content by the bar's height
}
0

Das PMPro-Team hat hierfür ein Plugin erstellt: https://wordpress.org/plugins/hide-admin-bar-from-non-admins/

Das enthält den PHP und CSS-Code, der benötigt wird, um die Admin-Leiste vollständig auszublenden: https://plugins.svn.wordpress.org/hide-admin-bar-from-non-admins/trunk/hide -admin-bar-from-non-admins.php

function habfna_hide_admin_bar_settings()
{
?>
    <style type="text/css">
        .show-admin-bar {
            display: none;
        }
    </style>
<?php
}
function habfna_disable_admin_bar()
{
    if(!current_user_can('administrator'))
    {
        add_filter( 'show_admin_bar', '__return_false' );
        add_action( 'admin_print_scripts-profile.php', 'habfna_hide_admin_bar_settings' );
    }
}
add_action('init', 'habfna_disable_admin_bar', 9);
0
Jason Coleman