user
  • 0
Гуру

Как удалить виджет Broken Link Checker из меню администратора

  • 0

Я пытаюсь очистить виджеты панели администратора, чтобы только пользователи уровня администратора могли видеть различные мета-поля, но независимо от того, что я пробовал, виджет « Проверка неработающих ссылок » не исчезнет (см. пример кода ниже).

Я использую WordPress 3.1 MultiSite Network и работаю с этим кодом в папке плагинов MU… не уверен, что это имеет значение… я также пробовал плагин Adminimize, но это тоже не сработало для виджета.

/* Turn off Dashboard Widgets */

if( is_admin() )
    add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );

function remove_dashboard_widgets() {
    global $wp_meta_boxes;
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
    unset($wp_meta_boxes['dashboard']['normal']['core']['blc_dashboard_widget']);
}

Заранее спасибо за любые указания… с уважением,

Чак Скотт.

Share
  1. Проблема, вероятно, просто в том, что ваш код запускается до того, как средство проверки неработающих ссылок добавит мета-поле. Попробуйте изменить строку действия на это:

    if(is_admin()){
      add_action('wp_dashboard_setup', 'remove_dashboard_widgets', 1000 );
    }
    

    РЕДАКТИРОВАТЬ

    Чтобы быть немного более ясным, конкретная проблема здесь заключается в том, что add_action() функция запускается слишком рано по сравнению с функцией add_action средства проверки неработающих ссылок. Есть два способа решить эту проблему: либо запустить код позже (подключив основные функции вашего плагина к функции инициализации и добавив ваши действия и фильтры в эту функцию инициализации), либо увеличить приоритет вашего действия (то, что я предложил выше).

    • 0
    • Спасибо — полностью сработало… у меня есть только пара пользовательских функций, поэтому установка приоритета 20 сработала… не уверен, что установка слишком высокого приоритета, например, 100 или 1000, влияет на время загрузки, но еще раз, СПАСИБО!

      • 0
    • Нет, это никак не повлияет на время загрузки. Это просто становится ключевым числом для массива действий, прикрепленных к 'wp_dashboard_setup', поэтому одинаково быстро можно использовать 10, 20, 1000 или 9001. Единственная причина использовать большее число — быть абсолютно уверенным, что ваш обработчик запускается последним на хуке..

      • 0

Оставить ответ

You must login to add an answer.