Indeed, the substring related to $is_admin_link should have been
written to reflect both boolean states, like this:

(($is_admin_link||'') && $admin)

Whether this form is preferable than using the trenary operator, the
issue props our individual taste.

( The missing slashes were already prepended on my
variables -- you had no way of knowing this; which in turn reminds
us of the better clarity of join(), another subject
and one more issue to consider.)