current_user_can comma list vs OR (||) list

The current_user_has_role() is not a WordPress core function, on the other hand there’s wc_current_user_has_role( $role ) in WooCommerce where $role is a string, but 3rd party plugins are general off-topic.

Creating this function was closed as wontfix in this ticket: https://core.trac.wordpress.org/ticket/22624 where Andrew Nacin summarized it neatly:

Roles are merely a grouping of capabilities that can be assigned to a
user. Only capabilities should be checked, not roles. If you need to
know specifically what role a user has, there are a number of ways
using the existing API.

A new function like this is ripe for abuse. We need people to check
for capabilities, not roles, and having a current_user_has_role()
function is just asking for them to do things wrong. We still haven’t
gotten people to stop checking for user levels, let’s not go in this
direction.

You use current_user_can('administrator') but also check out the notice in the current_user_can() docs:

While checking against particular roles in place of a capability is
supported in part, this practice is discouraged as it may produce
unreliable results.

You can always write your own function wrappers or helpers to make your capability checks easier to work with.

tech