我需要在创建新用户(仅限编辑器)后创建一个新帖子(自定义帖子类型)。 我想我必须使用这样的钩子:
do_action('user_register', $user_id);
add_action ('user_register', "create_post");
function create_post()
{
// Create the post
}
但我不知道如何在这个功能中创建帖子。 我在新用户表单中有一些自定义字段...
由于 纪尧姆
答案 0 :(得分:0)
尝试使用add_action这里的参数就是一个简单的例子
add_action( 'user_register', 'create_post', 10, 1 );
function create_post( $user_id ) {
if ( isset( $_POST['first_name'] ) )
..... your code here
}
并且对于惰性帖子,在给定链接http://codex.wordpress.org/Function_Reference/wp_insert_post
中使用此函数答案 1 :(得分:0)
来自wordpress codex user_register
您可以执行此类代码
add_action( 'user_register', 'myplugin_registration_save', 10, 1 );
function myplugin_registration_save( $user_id ) {
//Here you can update user information after they registered
if ( isset( $_POST['first_name'] ) ) {
update_user_meta($user_id, 'first_name', $_POST['first_name']);
}
}
要在用户注册后插入帖子,请尝试使用扩展代码:
add_action( 'user_register', 'myplugin_registration_save', 10, 1 );
function myplugin_registration_save( $user_id ) {
//Here you can update user information after they registered
if ( isset( $_POST['first_name'] ) ) {
update_user_meta($user_id, 'first_name', $_POST['first_name']);
}
// Here you can insert new post for registered users
$my_post = array(
'post_title' => 'Title',
'post_content' => 'some content',
'post_status' => 'publish',
'post_author' => $user_id, //If to assign post to the currently registered user otherwise put 1
'post_type' => 'post'
);
// Insert the post into the database
$_post_id = wp_insert_post($my_post);
if ($_post_id) {
return 'post inserted';
}
}
update_user_meta可让您在注册后更新用户的其他信息 wp_insert_post允许您以编程方式插入帖子