Automattic\WooCommerce\Blocks\BlockTypes\OrderConfirmation

Downloads::render_order_download_row()protectedWC 1.0

Render a download row in the table.

Метод класса: Downloads{}

Хуков нет.

Возвращает

Строку.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->render_order_download_row( $download );
$download(массив) (обязательный)
Download data.

Код Downloads::render_order_download_row() WC 9.7.1

protected function render_order_download_row( $download ) {
	$return = '';

	foreach ( wc_get_account_downloads_columns() as $column_id => $column_name ) {
		$return .= '<td class="' . esc_attr( $column_id ) . '" data-title="' . esc_attr( $column_name ) . '">';

		if ( has_action( 'woocommerce_account_downloads_column_' . $column_id ) ) {
			$return .= $this->get_hook_content( 'woocommerce_account_downloads_column_' . $column_id, [ $download ] );
		} else {
			switch ( $column_id ) {
				case 'download-product':
					if ( $download['product_url'] ) {
						$return .= '<a href="' . esc_url( $download['product_url'] ) . '">' . esc_html( $download['product_name'] ) . '</a>';
					} else {
						$return .= esc_html( $download['product_name'] );
					}
					break;
				case 'download-file':
					$return .= '<a href="' . esc_url( $download['download_url'] ) . '" class="woocommerce-MyAccount-downloads-file button alt">' . esc_html( $download['download_name'] ) . '</a>';
					break;
				case 'download-remaining':
					$return .= is_numeric( $download['downloads_remaining'] ) ? esc_html( $download['downloads_remaining'] ) : esc_html__( '&infin;', 'woocommerce' );
					break;
				case 'download-expires':
					if ( ! empty( $download['access_expires'] ) ) {
						$return .= '<time datetime="' . esc_attr( gmdate( 'Y-m-d', strtotime( $download['access_expires'] ) ) ) . '" title="' . esc_attr( strtotime( $download['access_expires'] ) ) . '">' . esc_html( date_i18n( get_option( 'date_format' ), strtotime( $download['access_expires'] ) ) ) . '</time>';
					} else {
						$return .= esc_html__( 'Never', 'woocommerce' );
					}
					break;
			}
		}

		$return .= '</td>';
	}

	return $return;
}