如何设置默认的UPDATE_USER_META值WordPress

时间:2020-02-27 作者:Yahya Lutf

因此,我安装了一个主题,为meta提供一个默认值

主题使用的代码是

      update_user_meta($uid, \'_sb_pkg_type\', \'free\');
我想将此代码添加到wordpress core中,因此每当用户注册时,它都会将默认值“free”设置为\\u sb\\u pkg\\u type,而不是nothing。。

意思是我想知道如何在WordPress core中将默认用户meta设置为\\u sb\\u pkg\\u类型

对不起,如果这个问题没有被理解,因为我的英语不是我的第一语言。

1 个回复
SO网友:Dave Romsey

您可以使用user_register 用户注册时运行用户元更新的操作。

/**
 * Sets the user meta key \'_sb_pkg_type\' to \'free\' when a user registers.
 *
 * @param int $user_id ID for the user who has registered.
 */
function wpse_update_user_meta_pkg_type( $user_id ) {
    update_user_meta( $user_id, \'_sb_pkg_type\', \'free\' );
}
// Fire late to try to ensure this is done after any other function hooked to `user_register`.
add_action( \'user_register\',\'wpse_update_user_meta_pkg_type\', PHP_INT_MAX, 1 );
上述代码使用优先级PHP_INT_MAX 尝试并确保它是user_register 钩子,但如果不知道您使用的插件是如何处理用户元的,很难说这是否足够。

我确实验证了此代码是否更新了用户元密钥_sb_pkg_type 值为free 当新用户注册时。