Przygotowanie koszyka i automatyczne wypełnienie go produktami

Poniższy kod udostępnia link, który wypełnienia koszyka wskazanymi produktami. Kod należy umieścić w pliku functions.php motywu.  Aby dostosować kod do swoich potrzeb należy zmodyfikować linie 29 i 30.
W linii 29 można zmodyfikować identyfikator, który będzie użyty w linku. Link będzie miał postać: http://adres.sklepu/?studiowp_add_to_cart=my_products,gdzie zamiast my_products będzie zmodyfikowany identyfikator.
W linii 30, w tablicy należy podać identyfikatory produktów/wariantów, które zostaną dodane do koszyka. Każde wystąpienie identyfikatora powoduje dodanie jednej sztuki produktu do koszyka.

Kod z linii 28-31 można powtórzyć wielokrotnie. Należy przy tym zmieniać identyfikatory i/lub listę produktów, wówczas będzie można używać wielu linków, które wypełniają koszyk wskazanymi produktami.

products = $products;
		$this->id = $id;
		add_action( 'init', array( $this, 'init' ) );
	}

	public function init() {
		if ( isset( $_GET['studiowp_add_to_cart'] ) && $_GET['studiowp_add_to_cart'] == $this->id ) {
			$cart = WC()->cart;
			$cart->empty_cart();
			foreach ( $this->products as $product_id ) {
				$cart->add_to_cart( $product_id, 1 );
			}
			wp_safe_redirect( wc_get_cart_url() );
			exit;
		}
	}

}

new studiowp_add_products_to_cart(
	$id = 'my_products',
	$products = array( 35, 31, 31 )
);

View the code on Gist.

Kopiując kod pomiń znacznik <?php - w większości przypadków nie ma potrzeby dodawania go do pliku functions.php. Jeżeli nie używasz motywu potomnego pamiętaj o tym, że zmiany wprowadzone do pliku functions.php zostaną nadpisane podczas aktualizacji motywu.

O grola

Pasjonat Wordpressa i WooCommerce od wielu lat. Autor wtyczek i krótkich snippetów usprawniających działanie Wordpressa i WooCommerce.

Pokaż wszystkie wpisy grola →