wp_theme_update_row() – Displays update information for a theme.

You appear to be a bot. Output may be restricted

Description

Displays update information for a theme.

Usage

$void|false = wp_theme_update_row( $theme_key, $theme );

Parameters

$theme_key
( string ) required – Theme stylesheet.
$theme
( WP_Theme ) required – Theme object.

Returns

void|false

Source

File name: wordpress/wp-admin/includes/update.php


Lines:

1 to 100 of 170
function wp_theme_update_row( $theme_key, $theme ) {
  $current = get_site_transient( 'update_themes' );

  if ( ! isset( $current->response[ $theme_key ] ) ) {
    return false;
  }

  $response = $current->response[ $theme_key ];

  $details_url = add_query_arg(
    array(
      'TB_iframe' => 'true',
      'width'     => 1024,
      'height'    => 800,
    ),
    $current->response[ $theme_key ]['url']
  );

  
/** @var WP_MS_Themes_List_Table $wp_list_table */
  $wp_list_table = _get_list_table( 'WP_MS_Themes_List_Table' );

  $active = $theme->is_allowed( 'network' ) ? ' active' : '';

  $requires_wp  = isset( $response['requires'] ) ? $response['requires'] : null;
  $requires_php = isset( $response['requires_php'] ) ? $response['requires_php'] : null;

  $compatible_wp  = is_wp_version_compatible( $requires_wp );
  $compatible_php = is_php_version_compatible( $requires_php );

  printf(
    '<tr class="plugin-update-tr%s" id="%s" data-slug="%s">' .
    '<td colspan="%s" class="plugin-update colspanchange">' .
    '<div class="update-message notice inline notice-warning notice-alt"><p>',
    $active,
    esc_attr( $theme->get_stylesheet() . '-update' ),
    esc_attr( $theme->get_stylesheet() ),
    $wp_list_table->get_column_count()
  );

  if ( $compatible_wp && $compatible_php ) {
    if ( ! current_user_can( 'update_themes' ) ) {
      printf(
        /* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number. */
        __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>.' ),
        $theme['Name'],
        esc_url( $details_url ),
        sprintf(
          'class="thickbox open-plugin-details-modal" aria-label="%s"',
          /* translators: 1: Theme name, 2: Version number. */
          esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $theme['Name'], $response['new_version'] ) )
        ),
        $response['new_version']
      );
    } elseif ( empty( $response['package'] ) ) {
      printf(
        /* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number. */
        __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>. <em>Automatic update is unavailable for this theme.</em>' ),
        $theme['Name'],
        esc_url( $details_url ),
        sprintf(
          'class="thickbox open-plugin-details-modal" aria-label="%s"',
          /* translators: 1: Theme name, 2: Version number. */
          esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $theme['Name'], $response['new_version'] ) )
        ),
        $response['new_version']
      );
    } else {
      printf(
        /* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number, 5: Update URL, 6: Additional link attributes. */
        __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a> or <a href="%5$s" %6$s>update now</a>.' ),
        $theme['Name'],
        esc_url( $details_url ),
        sprintf(
          'class="thickbox open-plugin-details-modal" aria-label="%s"',
          /* translators: 1: Theme name, 2: Version number. */
          esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $theme['Name'], $response['new_version'] ) )
        ),
        $response['new_version'],
        wp_nonce_url( self_admin_url( 'update.php?action=upgrade-theme&theme=' ) . $theme_key, 'upgrade-theme_' . $theme_key ),
        sprintf(
          'class="update-link" aria-label="%s"',
          /* translators: %s: Theme name. */
          esc_attr( sprintf( _x( 'Update %s now', 'theme' ), $theme['Name'] ) )
        )
      );
    }
  } else {
    if ( ! $compatible_wp && ! $compatible_php ) {
      printf(
        /* translators: %s: Theme name. */
        __( 'There is a new version of %s available, but it does not work with your versions of WordPress and PHP.' ),
        $theme['Name']
      );
      if ( current_user_can( 'update_core' ) && current_user_can( 'update_php' ) ) {
        printf(
          /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */
          ' ' . __( '<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.' ),
          self_admin_url( 'update-core.php' ),
          esc_url( wp_get_update_php_url() )

 View on GitHub View on Trac