WordPress Version: 5.3
/**
* Displays an access denied message when a user tries to view a site's dashboard they
* do not have access to.
*
* @since 3.2.0
* @access private
*/
function _access_denied_splash()
{
if (!is_user_logged_in() || is_network_admin()) {
return;
}
$blogs = get_blogs_of_user(get_current_user_id());
if (wp_list_filter($blogs, array('userblog_id' => get_current_blog_id()))) {
return;
}
$blog_name = get_bloginfo('name');
if (empty($blogs)) {
wp_die(sprintf(
/* translators: 1: Site title. */
__('You attempted to access the "%1$s" dashboard, but you do not currently have privileges on this site. If you believe you should be able to access the "%1$s" dashboard, please contact your network administrator.'),
$blog_name
), 403);
}
$output = '<p>' . sprintf(
/* translators: 1: Site title. */
__('You attempted to access the "%1$s" dashboard, but you do not currently have privileges on this site. If you believe you should be able to access the "%1$s" dashboard, please contact your network administrator.'),
$blog_name
) . '</p>';
$output .= '<p>' . __('If you reached this screen by accident and meant to visit one of your own sites, here are some shortcuts to help you find your way.') . '</p>';
$output .= '<h3>' . __('Your Sites') . '</h3>';
$output .= '<table>';
foreach ($blogs as $blog) {
$output .= '<tr>';
$output .= "<td>{$blog->blogname}</td>";
$output .= '<td><a href="' . esc_url(get_admin_url($blog->userblog_id)) . '">' . __('Visit Dashboard') . '</a> | ' . '<a href="' . esc_url(get_home_url($blog->userblog_id)) . '">' . __('View Site') . '</a></td>';
$output .= '</tr>';
}
$output .= '</table>';
wp_die($output, 403);
}