我正在使用UserUltra Pro 插件和我需要在用户注册网站后创建一个自定义帖子类型UserUltra插件使用wp_create_user()
我知道这是一个包装wp_insert_user()
. 此外,我知道“user\\u register”是在wp_insert_user()
.
除此之外,我无法创建新的自定义帖子类型,因为user_register
未调用挂钩。这可能吗?我如何管理它?
我正在使用UserUltra Pro 插件和我需要在用户注册网站后创建一个自定义帖子类型UserUltra插件使用wp_create_user()
我知道这是一个包装wp_insert_user()
. 此外,我知道“user\\u register”是在wp_insert_user()
.
除此之外,我无法创建新的自定义帖子类型,因为user_register
未调用挂钩。这可能吗?我如何管理它?
实际上有two actions: 当profile is updated 和one when the user is registered.
# Fires immediately after an existing user is updated.
do_action( \'profile_update\', $user_id, $old_user_data );
# Fires immediately after a new user is registered.
do_action( \'user_register\', $user_id );
因此,只要用户登录名不为空且用户名不存在,就应该继续。看看退货条款:if ( empty( $user_login ) ) {
return new WP_Error(\'empty_user_login\', __(\'Cannot create a user with an empty login name.\') );
}
if ( ! $update && username_exists( $user_login ) ) {
return new WP_Error( \'existing_user_login\', __( \'Sorry, that username already exists!\' ) );
}
这意味着如果你没有WP_Error
对象返回,它应该执行。您可以尝试核心函数中的众多过滤器,以缩小如果钩子未执行时出现问题的范围。在错误返回之前运行的错误如下:apply_filters( \'pre_user_login\', $sanitized_user_login );
如果这个有效,那么插件就不会检查is_wp_error()
并忽略失败的插入调用。<?php /** Plugin Name: Test if wp_insert_user() filters work */
add_filter( \'pre_user_login\', function( $user )
{
var_dump( current_filter()." works fine" );
return $user;
} );