WP_MS_Users_List_Table::column_blogs() – Handles the sites column output.

You appear to be a bot. Output may be restricted

Description

Handles the sites column output.

Usage

WP_MS_Users_List_Table::column_blogs( $user );

Parameters

$user
( WP_User ) required – The current WP_User object.

Returns

void

Source

File name: wordpress/wp-admin/includes/class-wp-ms-users-list-table.php


Lines:

1 to 80 of 80
  public function WP_MS_Users_List_Table::column_blogs( $user ) {
    $blogs = get_blogs_of_user( $user->ID, true );
    if ( ! is_array( $blogs ) ) {
      return;
    }

    foreach ( $blogs as $site ) {
      if ( ! can_edit_network( $site->site_id ) ) {
        continue;
      }

      $path         = ( '/' === $site->path ) ? '' : $site->path;
      $site_classes = array( 'site-' . $site->site_id );
      
/**
 * Filters the span class for a site listing on the mulisite user list table.
 *
 * @since 5.2.0
 *
 * @param string[] $site_classes Array of class names used within the span tag. Default "site-#" with the site's network ID.
 * @param int      $site_id      Site ID.
 * @param int      $network_id   Network ID.
 * @param WP_User  $user         WP_User object.
 */
      $site_classes = apply_filters( 'ms_user_list_site_class', $site_classes, $site->userblog_id, $site->site_id, $user );
      if ( is_array( $site_classes ) && ! empty( $site_classes ) ) {
        $site_classes = array_map( 'sanitize_html_class', array_unique( $site_classes ) );
        echo '<span class="' . esc_attr( implode( ' ', $site_classes ) ) . '">';
      } else {
        echo '<span>';
      }
      echo '<a href="' . esc_url( network_admin_url( 'site-info.php?id=' . $site->userblog_id ) ) . '">' . str_replace( '.' . get_network()->domain, '', $site->domain . $path ) . '</a>';
      echo ' <small class="row-actions">';
      $actions         = array();
      $actions['edit'] = '<a href="' . esc_url( network_admin_url( 'site-info.php?id=' . $site->userblog_id ) ) . '">' . __( 'Edit' ) . '</a>';

      $class = '';
      if ( 1 === (int) $site->spam ) {
        $class .= 'site-spammed ';
      }
      if ( 1 === (int) $site->mature ) {
        $class .= 'site-mature ';
      }
      if ( 1 === (int) $site->deleted ) {
        $class .= 'site-deleted ';
      }
      if ( 1 === (int) $site->archived ) {
        $class .= 'site-archived ';
      }

      $actions['view'] = '<a class="' . $class . '" href="' . esc_url( get_home_url( $site->userblog_id ) ) . '">' . __( 'View' ) . '</a>';

      
/**
 * Filters the action links displayed next the sites a user belongs to
 * in the Network Admin Users list table.
 *
 * @since 3.1.0
 *
 * @param string[] $actions     An array of action links to be displayed. Default 'Edit', 'View'.
 * @param int      $userblog_id The site ID.
 */
      $actions = apply_filters( 'ms_user_list_site_actions', $actions, $site->userblog_id );

      $action_count = count( $actions );

      $i = 0;

      foreach ( $actions as $action => $link ) {
        ++$i;

        $sep = ( $i < $action_count ) ? ' | ' : '';

        echo "<span class='$action'>$link$sep</span>";
      }

      echo '</small></span><br/>';
    }
  }
 

 View on GitHub View on Trac