Wordpress user_meta_data 正在注册

Wordpress user_meta_data on registration

我还没有弄清楚如何在用户注册时添加自定义 user_meta_data。

我认为代码应该是:

update_user_meta( $user_id, 'weight', 5 );

我不知道将其添加到哪个文件或添加到何处,甚至不知道它是否是正确的代码。

以下是来自元数据 table 的测试用户元数据,需要在注册时添加条目。

https://i.stack.imgur.com/FOcBP.png

我试过像 ibenic 建议的那样创建一个插件。

<?php
/**
 * @package Weight_Add
 * @version 1.0
 */
/*
Plugin Name: Weight Add
Description: Adds weight data on user registry
Author: Straconis
Version: 1.0
*/

add_action( 'user_register', 'my_add_post_meta' );

function my_add_post_meta( $user_id ) {
   // Do checks if needed
   update_user_meta( $user_id, 'weight', 5 );
}

?>

我喜欢这个插件的想法,我什至没有想到。谢谢。

您可以使用 user_register 操作挂钩,它允许您在新用户添加到数据库后立即为他们添加元数据。用户 ID 作为参数传递给 hook。

add_action( 'user_register', 'save_upon_user_registration', 10, 1 );
function save_upon_user_registration( $user_id ) {
    update_user_meta($user_id, 'meta_key', 'meta_data');
}

我会为此创建一个自定义插件。您可以在 https://developer.wordpress.org/plugins/the-basics/.

了解更多信息

然后在插件文件中,你可以添加你的功能。当用户注册时,WordPress 调用一个操作:'user_register'.

您还可以在那里看到一个示例: https://codex.wordpress.org/Plugin_API/Action_Reference/user_register

对于你自己的例子,你可以有类似的东西:

// 'my_add_post_meta' - your function that will hold the code
add_action( 'user_register', 'my_add_post_meta' );

function my_add_post_meta( $user_id ) {
   // Do checks if needed
   update_user_meta( $user_id, 'weight', 5 );
}