WordPress.org

Make WordPress Core

Opened 14 months ago

Last modified 5 weeks ago

#23498 new defect (bug)

wp_list_authors ignores 'exclude_admin' arg when admin account has a display_name other then 'admin' — at Version 2

Reported by: raphaabreu Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version: 3.1
Component: Users Keywords:
Focuses: Cc:

Description (last modified by SergeyBiryukov)

Line 293 of author-template.php should be changed from:

if ( $exclude_admin && 'admin' == $author->display_name )

to:

if ( $exclude_admin && 'admin' == $author->user_login )

Thanks.

Change History (2)

comment:1 knutsp14 months ago

  • Cc knut@… added

'admin' should be avoided as user_login anyway. On a single site there is usually a site owner, identified by the user who has the same email as the one who installed it and may be still be the receiver of admin emails for the site.

if ( $exclude_admin && get_option('admin_email') == $author->user_email )

This will exclude one, or sometimes no users. Or just deprecate the whole $exclude_admin thing in favor of something more modern in terms of today's WordPress roles and capabilities.

comment:2 SergeyBiryukov14 months ago

  • Description modified (diff)
  • Keywords has-patch removed
  • Version changed from 3.5.1 to 3.1

Related: #9165, #9902

Introduced in [15620], previously user_login field was used for comparison.

The parameter itself was added in [2632]. We should probably deprecate it in favor of exclude (#9902).

Still, fixing it makes sense to me. The description refers to "the 'admin' user that is installed by default":
http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/author-template.php#L246

Codex specifically refers to the login: "Exclude the 'admin' (login is admin) account from the list":
http://codex.wordpress.org/Function_Reference/wp_list_authors#Parameters

The default username, however, can be manually picked now (#10396).

I guess we have the following options to fix this:

  • 'admin' == $author->user_login.
  • 1 == $author->ID (from #9165).
  • get_option('admin_email') == $author->user_email (from comment:1).
Last edited 4 months ago by SergeyBiryukov (previous) (diff)
Note: See TracTickets for help on using tickets.