Jump to content
Brunolerin

Adicionar um Produto "x" ao Carrinho Automaticamente qd o produto "Y" for adicionado

Recommended Posts

Tenho segunte código q adiciona o produto ao carrinho, mas somente quando chega a um valor deseja, mas eu preciso que adicione qd um produto y seja adiiona... veja o código:

 

/**
 * Add another product depending on the cart total
 */
add_action( 'template_redirect', 'add_product_to_cart' );
function add_product_to_cart() {
  if ( ! is_admin() ) {
		global $woocommerce;
		$product_id = 2831; //replace with your product id
		$found = false;
		$cart_total = 30; //replace with your cart total needed to add above item

		if( $woocommerce->cart->total >= $cart_total ) {
			//check if product already in cart
			if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) {
				foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
					$_product = $values['data'];
					if ( $_product->get_id() == $product_id )
						$found = true;
				}
				// if product not found, add it
				if ( ! $found )
					$woocommerce->cart->add_to_cart( $product_id );
			} else {
				// if no products in cart, add it
				$woocommerce->cart->add_to_cart( $product_id );
			}
		}
	}
}

 

Share this post


Link to post
Share on other sites
add_action( 'init', 'add_produto_ao_carrinho' );
function add_produto_ao_carrinho() {
	if ( ! is_admin() ) {
		global $woocommerce;
		$product_id = 4066; //ID do produto
		$product_id_principal = 4065; //inclui essa variavel q vai puxar o segundo produto pro carrinho
		$found = false;
		//verifica se o produto esta no carrinho (ok)
		if ( sizeof( $woocommerce->cart->get_cart() ) > 0 ) {
		//essa parte baixo faz o que?<<<<<<<< entendi q verifica o item que está no carrinho, certo?	
foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
	// o que seria essa parte de ['data'] ? <<<<<<<<<<<<<< 
				$_product = $values['data'];
				if ( $_product->id == $product_id_principal ){
					$found = true;
					if ( $_product->id == $product_id )
						$found = true;
					Else{
					$woocommerce->cart->add_to_cart( $product_id );}//coloquei isso aqui
				
				}
			}
			// se o produto não for encontrado, adicione ele
			//if ( ! $found )
				//$woocommerce->cart->add_to_cart( $product_id );
		} //else {
			// se o produto não estiver no carrinho, adicione ele
			//$woocommerce->cart->add_to_cart( $product_id );
		//}
	}
}

Fiz assim e deu mais ou menos certo rs... pois ele identifica meu produto principal  e isso tá ok o problema é quando atualizo o carrinho, ele coloca novamente o produto

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By David Samu
      let total_entradas = 3//ai virar total de colunas
      let total_linhas   = 0
      let tabela         = []
      for(let coluna=total_entradas; coluna>0; coluna-- )
      {
          let repeticao = 1
          for(let x=1; x<=coluna; x++)
          {
              repeticao = (2 * repeticao)
          }
          if( total_linhas === 0 )
          {
              total_linhas = repeticao
          }
          if(repeticao != 1) 
          {
              repeticao = (repeticao / 2)
          }
          let valores = []
          let vdd     = 1
          let lastBoo = 'v'
          for( let linha=0; linha < total_linhas; linha++ )
          {
              if( vdd <= repeticao )
              {
                  val = lastBoo
              }
              else
              {
                  if( lastBoo == 'v' )
                  {
                      lastBoo = 'f'  
                  }
                  else 
                  {
                      lastBoo = 'v'
                  }
                  val = lastBoo
                  vdd=1
              }
              vdd++
              valores.push(val)
          }
          tabela[ (coluna - 1) ] = valores   
      }
      let countCol = 1
      for(let coluna=tabela.length - 1; coluna>=0; coluna--)
      {
          console.log("Coluna ", countCol++)
          for(let linha = 0; linha < tabela[coluna].length; linha ++)
          {
              console.log( tabela[coluna][linha] )
          }
      }
    • By Rodrigo Cabrera
      Boa tarde, 
      Estou criando meu site, e estou fazendo em WordPress usando o Divi Theme. 
      Gostaria de criar uma lista de noticias que ficassem como a imagem anexa. 
       
      Como faço isso?
      Gostaria de fazer em PHP para eu poder configurar da forma que eu quero. 
       
       

    • By Claudia França
      Prezados preciso de uma ajudar para entender o que mudar e fazer a integracao com base no link https://developercielo.github.io/manual/cielo-ecommerce#visacheckout   ( padrão cielo)
      Eu gostaria de entender se so preciso mudar o nome da variáveis  para fazer com que a cielo receba a informação da transação certa. Como faço para que as requisições sejam enviadas no padrão da Cielo. ? 
       
      No php imagem, está o que eu tenho no ambiente.
      no link como a cielo quer.
       
       


    • By VCastilho
      Bom Dia
      Estou fazendo uma pagina do meu site via Elementor, e começou a aparecer alguns erros no console que não consigo localizar a raiz.
      Inclusive a função de Carrossel de Imagens não está funcionando, esta inserido na Div porém não funciona, poderia me ajudar?
      Segue o link referente ao site:
       
      http://twixar.me/zjTn

      Realmente não consigo resolver esses erros, conto com vocês
    • By laedsonfln
      Pessoal, boa noite!
       
       
      Gostaria de mostrar 3 colunas e 6 produtos no celular utilizando o shortcode do woocommerce na página principal. 
      Criei um site de Brechó pra minha namorada usando o Wordpress + woocommerce. Tentei usar os shortcodes do woocommerce para chamar os produtos pra página principal. Até aqui tudo bem, porém quando acesso o site pelo celular a loja mostra duas colunas mesmo eu utilizando [products limit="6" columns="3"]. Procurei bastante nas internet e o que eu consegui foi copiar o HTML usando o inspector do google e inserindo num bloco do Elementor (construtor de página que uso) e mudando algumas coisinhas no código. A primeira vista está funcionando mas quando acrescento um produto ele não atualiza no celular porque não é um shortcode.  Alguém pode me ajudar? Sou iniciante na programação. Segue o site: www.brechodaelyevariedades.com.br 
       
      Obrigado! 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.