Зарезервированные ключи для мета пользователя в WordPress - Обо мне

Кто-нибудь знает, какие мета-ключи зарезервированы (что я не могу использовать для своих собственных целей) в WordPress, если таковые имеются?

Кроме того, для WordPress обо мне разделе. Кто-нибудь знает, как это назвать?

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

1 ответ

Решение

Post Meta Keys:

Вы, вероятно, не хотите использовать следующие мета- ключипоста:

  • _thumbnail_id- Используется для хранения идентификатора выбранного изображения
  • _edit_last- ИспользуетсяAPI Heartbeat
  • _edit_lock- ИспользуетсяAPI Heartbeat
  • _wp_page_template- Хранит шаблон страницы.
  • _wp_attached_file
  • _wp_attachment_metadata
  • _menu_item_{url, object, object_id, target, classes, xfn, ... }

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

Пользовательские мета-ключи:

Аналогично для этихпользовательских мета- ключей:

  • first_name
  • last_name
  • nickname
  • description
  • rich_editing
  • comment_shortcuts
  • admin_color
  • jabber
  • aim
  • yim
  • default_password_nag
  • use_ssl
  • show_admin_bar_front
  • show_welcome_panel
  • dismissed_wp_pointers
  • nav_menu_recently_edited
  • managenav-menuscolumnshidden
  • closedpostboxes_{post, dashboard, page, ...}
  • metaboxhidden_{post, dashboard, page, ...}
  • meta-box-order_{post, dashboard, page, ...}
  • screen_layout_{post, dashboard, page, ...}

и следующие мета-ключи пользователя, которые имеют префикс таблицы по умолчанию:

  • wp_capabilities
  • wp_user_level
  • wp_dashboard_quick_press_last_post_id
  • wp_user-settings
  • wp_user-settings-time

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

Как отобразить мета-ключи пользователя?

Если вы хотите отобразить все мета-ключи пользователя, для текущего пользователя вы можете использовать:

print_r( array_keys( get_user_meta( get_current_user_id() ) ) );

с выводом вроде:

Array
(
    [0] => first_name
    [1] => last_name
    [2] => nickname
    [3] => description
    [4] => rich_editing
    [5] => comment_shortcuts
    [6] => admin_color
    [7] => use_ssl
    [8] => show_admin_bar_front
    ...cut...
)

Посетите страницу Кодекса, чтобы получить больше информации оget_user_meta() функция.

Или просто исследовать ваш wp_usermeta Таблица.

Простой плагин для просмотра метаданных для каждого пользователя:

Полезно иметь возможность просматривать метаданные для каждого пользователя, поэтому давайте создадим для этого простой плагин.

Вот скриншот с профиля пользователя / страницы редактирования:

Пользователь Meta View

и вот код:

<?php
/**
 * Plugin Name: A Simple User Meta Data Viewer
 * Description: This plugin allows the site admin to view the metadata for each user, in the edit user screen
 * Author:      birgire
 * Version:     0.0.1
 * Plugin URI:  http://stackru.com/a/25316090/2078474
 */

add_action( 'show_user_profile', 'birgire_usermeta_list' );
add_action( 'edit_user_profile', 'birgire_usermeta_list' );

function birgire_usermeta_list( $profileuser )
{
    if( current_user_can( 'manage_options' ) )
    {
        // Fetch all the user meta data for current profile user:
        $items = get_user_meta( $profileuser->ID );

        // Loop:
        $rows = '';
        foreach( $items as $key => $item )
        {
                $rows .= sprintf( '
                        <tr>
                            <th>%s</th>
                            <td><input type="text" value="%s" readonly="readonly" class="regular-text" /></td>
                       </tr>',
                    $key,
                    esc_attr( array_shift( $item ) )
                );
        }

        // Output:
        printf( '<h3>%s</h3><table class="form-table"><tbody>%s</tbody></table>', 
            __( 'User Meta' ),
            $rows   
        );

    }
}

Надеюсь, это поможет.

Другие вопросы по тегам