@zuzzurro
since v2.2.14
1 – correct
2 – use capabilities instead use examples below
3 – is an unnecessary duplication of tautology in v.2.2.13 it was afflicted by a bug and only allowed admin.
<a href="https://example.com">link</a> | manage_links
or
<a href="https://example.com">link</a> | publish_pages
anyone who has the capability – by default editor has both of these, as does admin
for author you could use
<a href="https://example.com">link</a> |publish_posts
for contributor you could use
<a href="https://example.com">link</a>|edit_posts
the only way of hiding a link from an editor would be to give a capabilty to an author and NOT to an editor eg a custom capability based on say, membership of a special interest group. By default the set of capabilities for an author is a subset of the capabilities of an editor without any capabilities in an excluded set, and admin has them all, since even if a capability is not set for admin he/she has manage_roles (which is a custom capability defined by the role manager plugin) and can give themselves a capability