Ginger Sweater (adult) (EN)

About Ginger Sweater (adult) (EN)

The Ginger Sweater by Adorable Knits is a timeless cable sweater with a relaxed, oversized fit. This updated version offers improved sizing and refined construction while preserving the classic Ginger design.

The sweater is knitted seamlessly top down, starting with a twisted rib collar. German Short Rows shape the neckline for a comfortable fit, and the body and sleeves are worked in the round. The pattern includes nine sizes from XS to 5XL.

Ginger Sweater is knitted on 4 mm and 5 mm circular needles with a gauge of 22 stitches x 25 rounds per 10 cm in the cable pattern. The design is worked with one strand of yarn, creating a soft fabric with clear cable definition.

A versatile and elegant sweater that fits perfectly into the Ginger collection.

Designer

Craft

Stitch Pattern & Technique

, , , , ,

Difficulty Level

Clothing Size (Adult)

, , , , , , , ,

Language

Needle / Hook Size

Meterage (per 50 g)

Gauge

Collection

,

About this Pattern

The Ginger Sweater for adults by Adorable Knits is a soft, roomy sweater featuring an elegant and timeless cable pattern. This updated version of the original Ginger Sweater has been carefully revised with improved sizing and fit, while keeping the classic Ginger look intact.


The sweater is knitted seamlessly from the top down. Construction begins with the collar, which is worked in twisted rib stitch, followed by the yoke. German Short Rows are used to shape the neckline, ensuring a comfortable fit with extra length at the back. Once the yoke is complete, the body and sleeves are worked in the round, creating a clean and cohesive finish.


Ginger Sweater has a relaxed, oversized fit with a positive ease of approximately 15–16.5 cm. The pattern includes nine sizes: XS (S) M (L) XL (2XL) 3XL (4XL) 5XL, making it suitable for a wide range of body types.


Finished bust measurements range from 90 to 170 cm, depending on size. The sweater length and sleeve length are designed to sit comfortably on the body and can easily be adjusted if desired.


The sweater is knitted on 4 mm and 5 mm circular needles, with cable lengths adjusted as the project grows. The recommended gauge is 22 stitches x 25 rounds = 10 x 10 cm in the cable pattern, measured after blocking.


Ginger Sweater is designed to be knitted with a single strand of yarn, resulting in a soft fabric with beautiful stitch definition. Several yarn qualities work well for this design, allowing you to choose between a light, airy sweater or a warmer winter version, depending on your yarn choice.


The Ginger Sweater is part of the growing Ginger collection, which includes accessories and garments all sharing the same signature cable pattern. Ginger Sweater is a timeless wardrobe staple and a satisfying knitting project for knitters who enjoy cables and thoughtful construction.

Meet

Adorable Knits

Adorable Knits is a Belgian designer who fell in love with knitting in 2018 and began designing her own collections in 2020. With a background as an interior architect, she transitioned to working full-time as a knitwear designer in 2023. She creates modern, sustainable knitwear for women, children, and soon men, with a strong focus on details and experimental techniques.

Related patterns

Other patterns you might enjoy.

<?php
/**
 * Mini-cart
 *
 * Contains the markup for the mini-cart, used by the cart widget.
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/cart/mini-cart.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see              https://woocommerce.com/document/template-structure/
 * @package          WooCommerce\Templates
 * @version          9.5.0
 * @flatsome-version 3.19.8
 */

defined( 'ABSPATH' ) || exit;

do_action( 'woocommerce_before_mini_cart' ); ?>

<?php if ( WC()->cart && ! WC()->cart->is_empty() ) : ?>

	<ul class="woocommerce-mini-cart cart_list product_list_widget <?php echo esc_attr( $args['list_class'] ); ?>">
		<?php
		do_action( 'woocommerce_before_mini_cart_contents' );

		foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
			$_product   = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
			$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );

			if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_widget_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
				/**
				 * This filter is documented in woocommerce/templates/cart/cart.php.
				*
				* @since 2.1.0
				*/
				$product_name      = apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key );
				$thumbnail         = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
				$product_price     = apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key );
				$product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
				?>
				<li class="woocommerce-mini-cart-item <?php echo esc_attr( apply_filters( 'woocommerce_mini_cart_item_class', 'mini_cart_item', $cart_item, $cart_item_key ) ); ?>">
					<?php
					echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
						'woocommerce_cart_item_remove_link',
						sprintf(
							'<a href="%s" class="remove remove_from_cart_button" aria-label="%s" data-product_id="%s" data-cart_item_key="%s" data-product_sku="%s" data-success_message="%s">&times;</a>',
							esc_url( wc_get_cart_remove_url( $cart_item_key ) ),
							/* translators: %s is the product name */
							esc_attr( sprintf( __( 'Remove %s from cart', 'woocommerce' ), wp_strip_all_tags( $product_name ) ) ),
							esc_attr( $product_id ),
							esc_attr( $cart_item_key ),
							esc_attr( $_product->get_sku() ),
							/* translators: %s is the product name */
							esc_attr( sprintf( __( '&ldquo;%s&rdquo; has been removed from your cart', 'woocommerce' ), wp_strip_all_tags( $product_name ) ) )
						),
						$cart_item_key
					);
					?>
					<?php if ( empty( $product_permalink ) ) : ?>
						<?php echo $thumbnail . wp_kses_post( $product_name ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
					<?php else : ?>
						<a href="<?php echo esc_url( $product_permalink ); ?>">
							<?php echo $thumbnail . wp_kses_post( $product_name ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
						</a>
					<?php endif; ?>
					<?php echo wc_get_formatted_cart_item_data( $cart_item ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
					<?php echo apply_filters( 'woocommerce_widget_cart_item_quantity', '<span class="quantity">' . sprintf( '%s &times; %s', $cart_item['quantity'], $product_price ) . '</span>', $cart_item, $cart_item_key ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
				</li>
				<?php
			}
		}

		do_action( 'woocommerce_mini_cart_contents' );
		?>
	</ul>

	<?php do_action( 'flatsome_after_mini_cart_contents' ); ?>

	<div class="ux-mini-cart-footer">
		<?php do_action( 'flatsome_before_mini_cart_total' ); ?>

		<p class="woocommerce-mini-cart__total total">
			<?php
			/**
			 * Hook: woocommerce_widget_shopping_cart_total.
			*
			* @hooked woocommerce_widget_shopping_cart_subtotal - 10
			*/
			do_action( 'woocommerce_widget_shopping_cart_total' );
			?>
		</p>

		<?php do_action( 'woocommerce_widget_shopping_cart_before_buttons' ); ?>

		<p class="woocommerce-mini-cart__buttons buttons"><?php do_action( 'woocommerce_widget_shopping_cart_buttons' ); ?></p>

		<?php do_action( 'woocommerce_widget_shopping_cart_after_buttons' ); ?>
	</div>

<?php else : ?>

	<div class="ux-mini-cart-empty flex flex-row-col text-center pt pb">
		<?php do_action( 'flatsome_before_mini_cart_empty_message' ); ?>
		<p class="woocommerce-mini-cart__empty-message empty"><?php esc_html_e( 'No products in the cart.', 'woocommerce' ); ?></p>
		<?php do_action( 'flatsome_after_mini_cart_empty_message' ); ?>
	</div>

<?php endif; ?>

<?php do_action( 'woocommerce_after_mini_cart' ); ?>