Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress,如何创建用户和填充其他字段_Php_Wordpress - Fatal编程技术网

Php Wordpress,如何创建用户和填充其他字段

Php Wordpress,如何创建用户和填充其他字段,php,wordpress,Php,Wordpress,我在Wordpress网站上有一个注册页面。 在创建用户时,我希望在数据库中填充额外字段-它们是预先确定的: showbusiness = 1 showemail = 1 showaddress = 1 showphone = 1 showwebsite = 1 showemailcontent =1 我将如何添加这些,因为我目前有以下内容,但我知道wp\u create\u user不允许这样做: $status = wp_create_user( $username, $pass

我在Wordpress网站上有一个注册页面。 在创建用户时,我希望在数据库中填充额外字段-它们是预先确定的:

showbusiness = 1 
showemail = 1 
showaddress = 1 
showphone = 1 
showwebsite = 1 
showemailcontent =1
我将如何添加这些,因为我目前有以下内容,但我知道
wp\u create\u user
不允许这样做:

$status = wp_create_user( $username, $password, $email );

假设其中一个表中已存在必要的列:

add_action( 'user_register', 'registration_extra_fields', 10, 1 );

function registration_extra_fields( $user_id ) {

    global $wpdb;
    $table_name = $wpdb->prefix . 'users'; // or any other table

    $wpdb->get_results("
        UPDATE $table_name
        SET column = val
        WHERE ID = $user_id
    ");
}

您要使用的WordPress包装函数是
update\u user\u meta()
。您也可以使用
add\u user\u meta()
,但如果它不存在,update会将它添加到那里

add_action( 'user_register', 'registration_extra_fields', 10, 1 );
function registration_extra_fields( $user_id ) {
    update_user_meta( $user_id, 'showbusiness', 1);
    /* repeat for each data value */
}
注意:要触发Faisal和我使用的“用户注册”操作,您需要使用
wp\u insert\u user()
函数。这类似于
wp\u create\u user()
函数,但允许更大范围的输入

还请注意,您可以将整个数组发送到usermeta表,而不仅仅是单个值。这有助于加快操作速度

这样的东西可以用在钩子函数中:

$data = array(
    'showbusiness' => 1, 
    'showemail' => 1,
    'showaddress' => 1,
    'showphone' => 1,
    'showwebsite' => 1,
    'showemailcontent' => 1
)
update_user_meta( $user_id, 'showflags', $data );
然后在需要使用数据的地方
get_user_meta($user_id,'showflags')


希望有帮助。

我建议您停止编码。看看这个: