#45747 closed enhancement (fixed)
Deprecate update_user_status
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Milestone: | 5.3 | Priority: | normal |
| Severity: | normal | Version: | 3.0 |
| Component: | Users | Keywords: | has-patch good-first-bug commit |
| Focuses: | multisite | Cc: |
Description
Deprecate the function update_user_status and replace with wp_update_user.
Attachments (2)
Change History (13)
#2
follow-up:
↓ 3
@
7 years ago
@SergeyBiryukov This patch does keep those actions. It move them to wp-includes/user.php
#3
in reply to:
↑ 2
@
7 years ago
- Milestone changed from Awaiting Review to 5.2
- Owner set to SergeyBiryukov
- Status changed from new to reviewing
Replying to spacedmonkey:
This patch does keep those actions. It move them to wp-includes/user.php
Ah, I missed that. Thanks!
#5
@
6 years ago
- Keywords commit added
I could not get 45747.diff to work: simply passing $userdata['spam'] to wp_update_user() does not save the value in the database if it's not specifically handled in the function.
45747.2.diff fixes that, updates the docs, and also changes make_spam_user and make_ham_user to fire after the update, as they do in update_user_status(), not before.
#8
follow-up:
↓ 9
@
6 years ago
- Resolution fixed deleted
- Status changed from closed to reopened
On one single test site after [45708] trying to update a user profile fails with "Sorry, marking a user as spam is only supported on Multisite." error. Seems to be coming from:
if ( isset( $userdata['spam'] ) && ! is_multisite() ) {
return new WP_Error( 'no_spam', __( 'Sorry, marking a user as spam is only supported on Multisite.' ) );
}
Seems the site was set to multisite at some point and the user table has spam and deleted fields with '0' as default values.
Changing the above check to ! empty( $userdata['spam'] ) would fix it. Not sure how common that is, but probably better to fix?
Should we provide back compat for
make_spam_userandmake_ham_useractions?wp_maybe_update_network_user_counts()is hooked to them.