ブラウザの機能ではないでしょうか?
ブラウザのキャッシュをクリアしてからアクセスしても同様の現象が発生しますか?
>popup様
ご回答ありがとうございます。
まったく別の端末で確認しておりますが、やはり同様の内容が表示されます。
DBを調べてみた所、wp_bp_xprofile_dataテーブルのuser_idが「0」のものが表示されているのが分かりました。
管理者のIDが「1」なので、本来登録してきたユーザーのIDが「0」になるはずはないと思うのですが、一先ずレコードの内容をブランクにすることで、フォームの表示は回避できました。
これはBuddyPressの不具合でしょうか?
直接データベースにuser_id「0」のデータを作成して確認した所、こちらでも表示されました。
ただ、通常の操作ではID0のユーザーは作成されないようですし、特に問題はないと思います。
通常操作では発生しないので対処していないだけかもしれませんし、不具合と言えるかどうかも分かりません。(開発元が不具合だと判断すれば不具合になりますが。)
どうしても気になる場合は、[bp-themes/bp-default/registration/register.php]のbp_get_the_profile_field_edit_value()内を変更すると、登録(レジスト)ページではデータを取得しないようになります。
【変更前】
$field_value = isset( $field->data->value ) ? bp_unserialize_profile_field( $field->data->value ) : '';
【変更後】
$field_value = (isset( $field->data->value ) && !bp_is_register_page() ) ? bp_unserialize_profile_field( $field->data->value ) : '';
>popup様
調査いただき誠にありがとうございます。
>通常の操作ではID0のユーザーは作成されないようです
私も何故ユーザの情報が登録されたのか不明です。
そのユーザはuser_id=0だけでなく、普通の登録情報もDBにありました。
>bp_get_the_profile_field_edit_value()内を変更
素人質問で恐縮ですが、この処理を行った場合、例えば入力必須項目にエラーがあった場合、
他の項目で入力したデータの引き回しができなくなる可能性はないでしょうか?
素人質問で恐縮ですが、この処理を行った場合、例えば入力必須項目にエラーがあった場合、
他の項目で入力したデータの引き回しができなくなる可能性はないでしょうか?
×(誤)POSTしたデータを取得している箇所(以下)には手をつけていませんので大丈夫なはずです。
今確認しましたが、使いまわしできなくなってしまいますね。
元々影響がないはずなので、そのままにした方がいいみたいです。
一応、次のようにすると入力データの再利用が可能でした。
$field_value = (isset( $field->data->value ) && bp_is_user_profile_edit() || bp_is_register_page() && isset($_POST['signup_submit']) ) ? bp_unserialize_profile_field( $field->data->value ) : '';
>popup様
色々とご指導いただきありがとうございました。
勉強になりました。