andrew
  • 0
Учитель

Создание метабокса «только для администратора» с помощью WPAlchemy. Получение фатальной ошибки во внешнем интерфейсе при использовании current_user_can

  • 0

Я пытаюсь создать мета-поле «только для администратора», используя WPAlchemy. Поле, например, может содержать флажок «Особое сообщение» и другие функции.

Как я могу показать это мета-окно только для администратора, чтобы оно работало правильно? В настоящее время я использую следующий код ниже, но я получаю «Неустранимая ошибка: вызов функции-члена the_meta() для не-объекта» при попытке повторить значение того, что находится внутри, на внешнем интерфейсе. Все работает так, как задумано, если я не использую current_user_can, а также работает, если я вхожу в систему как администратор и просматриваю внешний интерфейс.

if (current_user_can('administrator')) {
$custom_admin_mb = new WPAlchemy_MetaBox(array(
    'id' => '_custom_admin_meta',
    'title' => 'Admin only',
    'template' => TEMPLATEPATH . '/custom/admin_meta.php',
));

}

Share
  1. попробуйте следующее:

    $custom_admin_mb = new WPAlchemy_MetaBox(array(
        'id' => '_custom_admin_meta',
        'title' => 'Admin only',
        'template' => get_stylesheet_directory() . '/custom/admin_meta.php',
        'output_filter' => 'my_output_filter',
    ));
    
    function my_output_filter() {
        if (current_user_can('administrator')) return true;
        return false;
    }
    
    • 0

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

You must login to add an answer.