В этом коде будут перечислены сайты, на которых у текущего пользователя есть роль администратора.
Кстати, есть новый способ получения текущего идентификатора пользователя и URL-адреса сайта, который вы должны использовать.Ваш код создал уведомление PHP из-за способа получения текущего идентификатора пользователя.
function blog_url_shortcode() {
if( is_user_logged_in()) {
$current_user_id = get_current_user_id();
$blogs = get_blogs_of_user( $current_user_id );
foreach ( $blogs as $blog_id => $blog ) {
$user = new WP_User( $current_user_id, '', $blog_id );
if ( in_array( 'administrator', $user->roles ) ) {
echo '<li><a href="' . esc_url( $blog->siteurl ) . '">' . esc_html( $blog->blogname ) . '</a></li>';
}
}
}
}
add_shortcode( 'blog_url', 'blog_url_shortcode' );