wordpress 中用户元的保留键 - 关于我

问题描述 投票:0回答:1

有谁知道 WordPress 中保留了哪些元键(我不能用于自己的目的)(如果有的话)?

另外,还有关于我的 wordpress 部分。有谁知道怎么称呼吗?

提前致谢。

php wordpress
1个回答
9
投票

发布元键:

您可能不想使用以下post meta键:

  • _thumbnail_id
    - 用于存储特色图像ID
  • _edit_last
    - 由 Heartbeat API
  • 使用
  • _edit_lock
    - 由 Heartbeat API
  • 使用
  • _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... )

查看

Codex 页面,获取有关 get_user_meta()

 函数的更多信息。

或者只是调查您的

wp_usermeta

表。

一个简单的插件来查看每个用户的元数据:

能够查看每个用户的元数据非常有用,所以让我们为此创建一个简单的插件。

这是用户个人资料/编辑页面的屏幕截图:

User 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://stackoverflow.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 ); } }

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.