WP_Themes_List_Table::display_rows()publicWP 1.0

Method of the class: WP_Themes_List_Table{}

Return

null. Nothing (null).

Usage

$WP_Themes_List_Table = new WP_Themes_List_Table();
$WP_Themes_List_Table->display_rows();

WP_Themes_List_Table::display_rows() code WP 6.5.2

<?php
public function display_rows() {
	$themes = $this->items;

	foreach ( $themes as $theme ) :
		?>
		<div class="available-theme">
		<?php

		$template   = $theme->get_template();
		$stylesheet = $theme->get_stylesheet();
		$title      = $theme->display( 'Name' );
		$version    = $theme->display( 'Version' );
		$author     = $theme->display( 'Author' );

		$activate_link = wp_nonce_url( 'themes.php?action=activate&amp;template=' . urlencode( $template ) . '&amp;stylesheet=' . urlencode( $stylesheet ), 'switch-theme_' . $stylesheet );

		$actions             = array();
		$actions['activate'] = sprintf(
			'<a href="%s" class="activatelink" title="%s">%s</a>',
			$activate_link,
			/* translators: %s: Theme name. */
			esc_attr( sprintf( _x( 'Activate &#8220;%s&#8221;', 'theme' ), $title ) ),
			_x( 'Activate', 'theme' )
		);

		if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) {
			$actions['preview'] .= sprintf(
				'<a href="%s" class="load-customize hide-if-no-customize">%s</a>',
				wp_customize_url( $stylesheet ),
				__( 'Live Preview' )
			);
		}

		if ( ! is_multisite() && current_user_can( 'delete_themes' ) ) {
			$actions['delete'] = sprintf(
				'<a class="submitdelete deletion" href="%s" onclick="return confirm( \'%s\' );">%s</a>',
				wp_nonce_url( 'themes.php?action=delete&amp;stylesheet=' . urlencode( $stylesheet ), 'delete-theme_' . $stylesheet ),
				/* translators: %s: Theme name. */
				esc_js( sprintf( __( "You are about to delete this theme '%s'\n  'Cancel' to stop, 'OK' to delete." ), $title ) ),
				__( 'Delete' )
			);
		}

		/** This filter is documented in wp-admin/includes/class-wp-ms-themes-list-table.php */
		$actions = apply_filters( 'theme_action_links', $actions, $theme, 'all' );

		/** This filter is documented in wp-admin/includes/class-wp-ms-themes-list-table.php */
		$actions       = apply_filters( "theme_action_links_{$stylesheet}", $actions, $theme, 'all' );
		$delete_action = isset( $actions['delete'] ) ? '<div class="delete-theme">' . $actions['delete'] . '</div>' : '';
		unset( $actions['delete'] );

		$screenshot = $theme->get_screenshot();
		?>

		<span class="screenshot hide-if-customize">
			<?php if ( $screenshot ) : ?>
				<img src="<?php echo esc_url( $screenshot . '?ver=' . $theme->version ); ?>" alt="" />
			<?php endif; ?>
		</span>
		<a href="<?php echo wp_customize_url( $stylesheet ); ?>" class="screenshot load-customize hide-if-no-customize">
			<?php if ( $screenshot ) : ?>
				<img src="<?php echo esc_url( $screenshot . '?ver=' . $theme->version ); ?>" alt="" />
			<?php endif; ?>
		</a>

		<h3><?php echo $title; ?></h3>
		<div class="theme-author">
			<?php
				/* translators: %s: Theme author. */
				printf( __( 'By %s' ), $author );
			?>
		</div>
		<div class="action-links">
			<ul>
				<?php foreach ( $actions as $action ) : ?>
					<li><?php echo $action; ?></li>
				<?php endforeach; ?>
				<li class="hide-if-no-js"><a href="#" class="theme-detail"><?php _e( 'Details' ); ?></a></li>
			</ul>
			<?php echo $delete_action; ?>

			<?php theme_update_available( $theme ); ?>
		</div>

		<div class="themedetaildiv hide-if-js">
			<p><strong><?php _e( 'Version:' ); ?></strong> <?php echo $version; ?></p>
			<p><?php echo $theme->display( 'Description' ); ?></p>
			<?php
			if ( $theme->parent() ) {
				printf(
					/* translators: 1: Link to documentation on child themes, 2: Name of parent theme. */
					' <p class="howto">' . __( 'This <a href="%1$s">child theme</a> requires its parent theme, %2$s.' ) . '</p>',
					__( 'https://developer.wordpress.org/themes/advanced-topics/child-themes/' ),
					$theme->parent()->display( 'Name' )
				);
			}
			?>
		</div>

		</div>
		<?php
	endforeach;
}