I am a bit stuck with the code below for my Wordpress site:
<?php
$user = wp_get_current_user();
$allowed_roles = array('subscriber', 'visitor');
if ( array_intersect($allowed_roles, $user->roles ) ) echo '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-XXXXXXXXXXXXXXX" crossorigin="anonymous"></script>' ?>
I want the Adsense code only be shown in the HEAD section for site visitors and the user role SUBSCRIBER. I tried 'visitor' but that didn't worked.
I don't know how to apply "array_diff" in this situation to display the Adsense code in the header for SITE VISITORS and SUBSCRIBER role?
For "subscriber" you can use function current_user_can
For guests you can use function is_user_logged_in()
if ( current_user_can( 'subscriber' ) || !is_user_logged_in()) {
// echo your adsense code
}