
###状況1
会員登録フォームを Simple WP Membership プラグインで設置し、 https://www.sandalot.com/ユーザーを追加すると同時に、自動的に新規投稿/ を参考に登録が完了すると自動的に新規投稿が作られるようにしました。
入力して頂いた内容を記事内に反映させたいのですが、現状反映されない項目があります。
###状況2(実験)
https://wpdocs.osdn.jp/関数リファレンス/get_userdataを確認すると、wp_users の内容であれば全て取得出来るのですが、wp_usermeta の 「nickname」「admin_color(freshが返る)」「rich_editing(trueが返る)」以外が取得できません。
※フォームからではなく、管理画面のユーザー>新規追加からですと「first_name」「last_name」は取得できました。
→プラグインの会員管理に反映しないので今回は使用しない。が、フォームからだと何故反映されないのか不明。
※フォームからではなく、管理画面から Simple WP Membership のメンバー追加を行うと「nickname」「admin_color(freshが返る)」「rich_editing(trueが返る)」以外取得できません。
→プラグインからのアクションフックが必要?どのように設定すれば良いのか不明。
//----------実験---------- function auto_post($user_id) { $user_info = get_userdata($user_id); $my_post = array(); $my_post['post_title'] = $user_info->first_name;//取得できない //wp_usersの値は全て取得できる $my_post['post_content'] = $user_info->ID."\n".$user_info->user_login."\n".$user_info->user_pass."\n".$user_info->user_nicename."\n".$user_info->user_email."\n".$user_info->user_url."\n".$user_info->user_registered."\n".$user_info->display_name; //wp_usermetaは「nickname」「admin_color(freshが返る)」「rich_editing(trueが返る)」以外は取得できない。 $my_post['post_content'] = $user_info->first_name."\n".$user_info->last_name."\n".$user_info->nickname."\n".$user_info->description."\n".$user_info->wp_capabilities."\n".$user_info->admin_color."\n".$user_info->closedpostboxes_page."\n".$user_info->primary_blog."\n".$user_info->rich_editing."\n".$user_info->source_domain; $my_post['post_status'] = 'draft'; $my_post['post_author'] = $user_id; $post_id = wp_insert_post( $my_post ); add_action('user_register', 'auto_post' );
###結果
以上のことを試しましたが、first_name などを取得できない原因がわかりません。
この場合どうすれば、登録内容を投稿内に取得できるのでしょうか?
回答1件
あなたの回答
tips
プレビュー