管理者がログインをすると、投稿と固定ページ、コメントにそれぞれ1つずつサンプルが用意されていると思います。あれを他のユーザーが新規登録した際も自動生成されるようにすることは可能でしょうか?サンプル記事の内容はこちらで用意できるように(カスタマイズできるように)したいです。
上の方のおっしゃる通り、wp_insert_postを使って投稿されるようにできます。
function.phpに
function myregister_post($user_id) { $user_info = get_userdata($user_id); $my_post = array(); $my_post['post_title'] = '新規ユーザーが追加されました.。'; $my_post['post_content'] = $user_info->first_name.'さんが追加されました。'; $my_post['post_status'] = 'publish'; $post_id = wp_insert_post( $my_post ); } add_action('user_register', 'myregister_post' );
単純に記事を追加するのであればこれでできるはずです。
wp_insert_postはカスタムフィールドの追加する項目はありませんので、ユーザーが新規登録した際に、カスタムフィールドも入力された状態で記事を生成したい場合は別のコードが必要になります。
function.php
function myregister_post($user_id) { $user_info = get_userdata($user_id); $my_post = array(); $my_post['post_title'] = '新規ユーザーが追加されました!'; $my_post['post_content'] = $user_info->first_name.'さんが追加されました。'; $my_post['post_status'] = 'publish'; $post_id = wp_insert_post( $my_post ); // カスタムフィールド用に次を追加 if($post_id){ update_post_meta($post_id, 'カスタムフィールドのキー', 'カスタムフィールドに入れる値'); } } add_action('user_register', 'myregister_post' );
流れとしては
wp_insert_postをuser_registerに追加して、その後、そのポストのpost_metaにカスタムフィールドを追加(アップデート)するという流れです。