[wp-trac] [WordPress Trac] #38276: "Is thing public" API

WordPress Trac noreply at wordpress.org
Tue Oct 11 13:55:25 UTC 2016

#38276: "Is thing public" API
 Reporter:  jdgrimes         |       Owner:
     Type:  feature request  |      Status:  new
 Priority:  normal           |   Milestone:  Awaiting Review
Component:  Role/Capability  |     Version:  trunk
 Severity:  normal           |  Resolution:
 Keywords:                   |     Focuses:

Comment (by jdgrimes):

 Taking a look at [https://codex.wordpress.org/Roles_and_Capabilities the
 list of core capabilities], I have confirmed that `read` is pretty unique.
 The only other caps that would really relate at all to read and not just
 create/update/delete actions would be `list_users` and perhaps the
 `manage_*` caps.

 That is just useful information to consider in determining the ultimate
 scope of this ticket. The most narrow scope would be to create an
 `is_post_public()` function, that only works for posts and returns a
 boolean value. The broadest scope would be to create an
 `is_thing_accessible()` function, that works for all types of objects and
 determines whether the object is accessible to a particular user, not just
 whether the object is public. In between the two extremes would be the
 `is_post_accessible()` and `is_thing_public()` functions.

 The fact that only the posts really have a `read` capability might
 indicate that while a broader API is useful, in terms of core it isn't
 really needed. However, we could also look at that conversely: if we are
 going to do an `is_thing_public()` API as opposed to just an
 `is_post_pubic()` API, it makes sense to go full-blown
 `is_thing_accessible()`. Because for non-post objects, there is no
 `current_user_can( 'read_other_object' )` to fall back to for providing
 more granular accessibility checking for logged-in users, like there would
 be the `read_post` cap for posts. In other words, we'd be able to do a
 basic check as to whether something is public, but we wouldn't be able to
 check whether a particular user could still view that non-public thing.
 Unless of course we add more read-type caps to capability API for other
 objects. But honestly I don't know that we want to encourage that.

Ticket URL: <https://core.trac.wordpress.org/ticket/38276#comment:5>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform

More information about the wp-trac mailing list