Проблемы с удалением администраторской панели

Я пытаюсь удалить администраторскую панель из фронтэнда темы темы.

Я нашел следующий блок кода:

add_filter( 'show_admin_bar', '__return_false' );
remove_action( 'personal_options', '_admin_bar_preferences' );

Который хорошо работает. Однако я хотел добавить выбор для пользователя, так, чтобы я мог добавить постоянный блок кода к своей шаблонной теме и позволить пользователям отключать администраторскую панель и на.

Я успешно добавил переключатель в администраторской области и перезвонил значению успешно, однако, когда я тестирую на значение для управления обратным вызовом администраторской панели, администраторская панель идет, но CSS относился к элементу HTML (margin-top: 28px !important;) остается, оставляя разрыв на 28 пкс в вершине моей темы.

Вот блок кода, который я использую, чтобы отозвать значение и ответить соответственно:

function block_admin(){
    $show = get_option('admin_bar_');
    $show = $show['admin_bar_toggle'];
    if (!$show || $show != 'on'){
        add_filter( 'show_admin_bar', '__return_false' );
        remove_action( 'personal_options', '_admin_bar_preferences' );
    } 
}
add_action('init', 'block_admin');

Предложение

Требованием, моя пользовательская опция (использование register_setting) не инициализируется до admin_menu рычаг запускается, пока block_admin запускается на init. Однако я не думаю, что это - проблема, поскольку я не думаю get_option зависит от установки, зарегистрированной, а скорее существующая опция (или не) в базе данных.

1
19.07.2011, 19:09
5 ответов

Просто запуск функции в более ранней точке решил проблему

 function block_admin(){
    $show = get_option('admin_bar_');
    $show = $show['admin_bar_toggle'];
    fb::log($show,'shoe');
    if (!$show || $show != 'on'){
        add_filter( 'show_admin_bar', '__return_false' );
        remove_action( 'personal_options', '_admin_bar_preferences' );
    } 
}
add_action('after_setup_theme','block_admin');
1
19.02.2020, 22:49

Уже существует опция в расчете на пользователя отключить администраторскую панель в последних версиях Wordpress. Это может быть найдено в настройках профиля пользователя:

…/wp-admin/profile.php (нажимают на Ваше имя после входа в систему),

1
19.02.2020, 22:49
  • 1
    я удаляю это также. Короче говоря, мне не нравится администраторская панель. –  Mild Fuzz 21.07.2011, 13:48
  • 2
    "Мне не нравится администраторская панель", Кто делает? Главным образом это также в большой степени взаимодействует с темой, приводящей к пробелам где-нибудь … –  feeela 21.07.2011, 13:50
  • 3
    При Наличии его на, поскольку значение по умолчанию было большой ошибкой, по-моему. –  Mild Fuzz 21.07.2011, 22:51

Вы попробовали show_admin_bar(false)? От беглого взгляда на код, должен уничтожить администраторскую панель, и безопасно работать очень рано (на загрузке на самом деле).

1
19.02.2020, 22:49

Вы сохранили свои настройки, так, чтобы они действительно существовали в базе данных?

Также: что, если Вы изменяете это:

if ( ! $show || $show != 'on' ) {

... к этому:

if ( ! isset( $show ) || $show != 'on' ) {
0
19.02.2020, 22:49
  • 1
    я уверен, если оператор не является проблемой, поскольку это действительно делает что-то, и что что-то обратимо, когда я переключаю управление назад и вперед. Это удаляет саму панель, просто не стиль, к которому относятся html элемент. –  Mild Fuzz 19.07.2011, 22:25

Не уверенный, который соответствует Вам req. Но вот плагин к toogle администраторской панели на прочь глобально. Почему бы не взглянуть :)

http://wordpress.org/extend/plugins/global-admin-bar-hide-or-remove/

0
19.02.2020, 22:49

Теги

Похожие вопросы