WordPress.org

Make WordPress Core

Opened 2 years ago

Last modified 2 years ago

#19160 closed defect (bug)

is_user_member_of_blog() gives unexpected results on single site — at Initial Version

Reported by: duck_ Owned by:
Milestone: 3.3 Priority: normal
Severity: normal Version: 3.1
Component: Users Keywords: has-patch
Focuses: Cc:

Description

On single site with a logged in user:

var_dump( is_user_member_of_blog() ); // bool(false)

This is because when passed an empty $blog_id the function uses $wpdb->blogid as the current blog which is 0 in single site, but the blog ID set by get_blogs_of_user() is get_current_blog_id().

Two possible solutions:

  1. Use get_current_blog_id()
  2. Return result of is_user_logged_in() if ! is_multisite()

Attached patch for 1.

is_blog_user() was included for single site in 3.1, see [15671], and didn't work as expected then either. It also caused a PHP notice as well as returning false.

Also see #16702, especially comment 21. Noticed whilst writing patches for #19122.

Change History (1)

duck_2 years ago

Note: See TracTickets for help on using tickets.