WordPress通过使用每个站点的数据库前缀来区分站点之间的用户元密钥。
例如,不使用favorite\\u posts键,而是使用元键wp\\u 23\\u favorite\\u posts。要获取前缀,可以使用$wpdb->get_blog_prefix()
.
但是等等,实际上有一个完整的API专门用于此。而不是使用*_user_meta()
, 使用*_user_option()
. 这些都是针对单个站点进行内部翻译的。
而且,它很容易集成到您现有的插件中。get_user_option()
首先检查特定于站点的密钥,但如果找不到任何内容,则返回到用户范围的元密钥。所以继续,切换到get_user_option()
你现有的插件可以在单个站点上正常工作。
以下是函数定义:
./wp-includes/user.php:251:function get_user_option( $option, $user = 0 )
./wp-includes/user.php:293:function update_user_option( $user_id, $option_name, $new_value )
./wp-includes/user.php:322:function delete_user_option( $user_id, $option_name )