Intereting Posts
Custom post type permalink: используйте только% post_id% и удалите% postname% Устранить шлюзы оплаты на woocommerce Программно обновлять плагины, размещенные без самостоятельного размещения в WordPress Получите пользователей с разными ролями и функцией вызова для каждого из них (user_meta) Список сообщений WordPress и связанных с ними вложений за пределами почтовой страницы Как разделить и отобразить категории на два столбца Cant 'Отображать пользовательский тип заголовка заголовка в налоговых условиях Автоматическое обновление заголовка сообщения и пули при изменении статуса сообщения Получить ссылку на первое сообщение пользовательской таксономии в пользовательском списке таксономии Отключить интерфейс для использования только в CMS? Paginate Custom Post, старые и новые кнопки не отображаются Изменение постоянной ссылки из / postname / в категорию / postname / WordPress meta_query не работает Измените размер квадратного изображения одного продукта в woocommerce без обрезки Условное использование get_the_ID () не работает

каково значение поля wp_capabilities в таблице wp_usermeta

Я новичок в wordpress, в таблице wp_usermeta Я замечаю, что у нас есть строка

 meta_key meta_value wp_capabilities a:1:{s:13:"administrator";b:1;} 

Во-первых, каково значение meta_value a:1:{s:13:"administrator";b:1;} , где я могу найти точное объяснение этой заявки? Или мне, что нужно знать о возможностях role user , где я могу получить эту информацию.

Во-вторых, как я могу создавать новые роли через wordpress's API по коду

Заранее спасибо.

Wp_capabilities сохраняет значение в качестве сериализованного массива, вы можете попробовать его в своем php или для этого примера здесь: http://blog.tanist.co.uk/files/unserialize/ .

Код:

 a:1:{s:13:"administrator";b:1;} 

Является:

 Array ( [administrator] => 1 ) 

Это означает, что пользователь является администратором.

Вы можете добавить новые роли в базу данных, запустив функцию add_role и запустив ее только один раз !

В дополнение к ответу @ Krysiek вы должны знать, что данные, хранящиеся в мета-таблицах, включая метаданные пользователя, часто сериализуются. Если вы хотите знать, что представляют данные на самом деле, вы можете использовать функцию unserialize PHP для определения ее значения. Например, запустив значение a:1:{s:13:"administrator";b:1;} через unserialize (а затем var_dump -ing results), выполните следующие действия:

 array(1) { ["administrator"]=> bool(true) } 

Вы найдете те же самые записи в таблице options а также в таблице post_meta .

Однако вам не следует писать непосредственно в эти таблицы. Существуют функции WordPress, которые позволяют хранить и получать доступ к данным о пользователях. Например, чтобы читать данные из мета-таблицы пользователя, вы должны использовать get_user_meta, и для записи вам следует использовать функцию WordPress update_user_meta . Аналогичные функции существуют для таблиц post_meta и options.

meta_value – это столбец для хранения значения мета-поля. Каждое meta_field содержит ключ и значение.

Я думаю, что эта статья Codex о ролях и возможностях должна помочь вам: http://codex.wordpress.org/Roles_and_Capabilities

Чтобы добавить собственные роли, вы должны использовать функцию add_role ( http://codex.wordpress.org/Function_Reference/add_role )

И образец использования его из Codex:

 $result = add_role('basic_contributor', 'Basic Contributor', array( 'read' => true, // True allows that capability 'edit_posts' => true, 'delete_posts' => false, // Use false to explicitly deny )); if (null !== $result) { echo 'Yay! New role created!'; } else { echo 'Oh... the basic_contributor role already exists.'; } 

ключ «wp_capabilities» в таблице wp_usermeta идентифицирует сериализованное представление массива, который идентифицирует роли пользователя.

Команда WordPress назвала поле [префикс] _capabilities, прежде чем они поняли, что «возможности» на самом деле группируются вместе для пользователей, заполняющих определенную роль. Изменение значения ключа из [префикса] _capabilities в [prefix] _roles могло бы нарушить слишком много сторонних плагинов, а также потребовать огромного рефакторинга в самой WordPress.

По этой причине можно с уверенностью сказать, что ключ uspmeet wp_capabilities содержит пользовательские роли и будет называться wp_roles, если бы не было так много полезных программ, которые ожидают, что он будет использовать старое имя.

Поскольку этот факт настолько полезен для новых энтузиастов WordPress, я рекомендую всем, у кого есть что сказать о ролях (или возможностях) WordPress, очень важно, что роли пользователей перечислены в массиве, который сериализуется в таблице usermeta в ключ [префикс] _capabilities.

В таблице wp_usermeta мы можем сохранить дополнительную информацию, связанную с пользователем, когда мы создаем нового пользователя, или обновляем профиль существующего пользователя.

В таблице wp_usermeta есть имя столбца meta_key где мы можем сохранить значение, через которое мы можем get или update значение этого поля, например

  • add_user_meta( 'user_id', 'meta_key', 'meta_value') используя это, мы можем добавить мета-валу в таблицу, где meta_key='meta_key' .
  • get_user_meta('user_id', 'meta_key', true) , используя эту функцию, мы можем получить значение этого пользователя с meta_key = 'meta_key' .
  • update_user_meta( 'user_id, 'meta_key', 'meta_value') используя эту функцию, мы можем обновить мета-значение.
  • delete_user_meta( 'user_id', 'meta_key') используя это, мы можем удалить мета-значение пользователя.

    Если вы хотите сохранить поле « Middle name для пользователей, сохраните его в wp_usermata с meta_key=middle_name и сохраните его значение в meta_value=value используя эти функции.

Роль подобна политике доступа, предоставляемой пользователю, что у него есть только такая большая часть доступа на веб-сайте. Вы можете добавить, удалить роль.

Возможности – это как добавление функций или ограничение роли. Например, есть две роли «золотая роль», «платиновая роль». Мы ограничиваем «золотую роль», чтобы он мог добавлять пост, но не публиковать сообщение, а «платиновую роль» добавляем функцию, которую он может опубликовать. Мы также можем добавлять или удалять возможности, связанные с ролью. Вы также можете добавить ограничение на обменные позиции сообщений.

Для получения дополнительной информации см. Роль и возможности

Вы можете добавить роль и установить свои возможности через WordPress API, или вы можете использовать плагины для этого. На мой взгляд, Advanced Access Manager – лучший плагин для обработки роли и возможностей.