Eu já tinha vontade de publicar este guia há um tempão. Como Programador freelancer para WooCommerce, todos os dias repito muitas operações que me fazem perder tempo… e uma delas é de fato “Como obter ____ se eu tiver a variável/objeto $product?”.
Por exemplo, “Como posso obter o SKU do produto“? Ou “Como posso obter a descrição curta do produto”? Ou talvez o nível de estoque do produto, classe de envio, classe de imposto, preço, preço normal, preço promocional e assim por diante… Enfim, carregar informações de produto em uma página ou e-mail do WooCommerce. Espero que este artigo te faça economizar tempo.
Claro, nem sempre você tem acesso à variável $product (no caso, quando em alguns hooks tipo filter do WooCommerce, por exemplo), então você também é obrigado a entender o seu cenário e ver se consegue “pegar” esse objeto $product em outro caminho ou criá-lo bem ali.
PÁRA TUDO! Você não sabe o que é um gancho (hook)?
Acesse o site da maior autoridade em WooCommerce: Eles próprios! Depois, continue lendo:
Por exemplo, você pode saber o $product_id. Nesse caso, você deve encontrar uma maneira de “obter o objeto $product através do $product_id” – vou te mostrar um exemplo abaixo.
Outros exemplos podem ser o pedido ou as páginas do carrinho. Mais uma vez, aqui você realmente não tem um produto $ disponível, então você tem que percorrer os itens do pedido/carrinho e “obtê-lo”. Depois disso, você pode calcular e obter qualquer informação necessária de $product. Aproveite!
Ganchos (do_action e apply_filters) usam argumentos adicionais que são passados para a função. Se eles permitirem que você use o objeto “$product”, você está com a faca e o queijo nas mãos. Como alternativa, você pode declarar a variável global “$product” dentro de sua função.
Em ambos os casos, veja como carregar todas as informações do produto:
Se você tiver acesso ao ID do produto (mais uma vez, geralmente do_action ou apply_filters tornarão isso possível para você), você deve obter o objeto do produto primeiro. Em seguida, faça exatamente as mesmas coisas das instruções em 1 (acima) para carregar as informações de produto.
Como obter as informações do produto dentro do Pedido? Nesse caso, você precisará percorrer todos os itens presentes no pedido e aplicar as regras mencionadas acima.
Como carregar as informações do produto dentro do Carrinho? Nesse caso, mais uma vez, você precisará percorrer todos os itens presentes no carrinho e aplicar as regras de lá de cima.
Em certos casos (por exemplo, no back-end), você só pode obter acesso a $post. Então, como podemos carregar informações de produto a partir de $post? Moleza:
Se o que você queria era alterar páginas do WooCommerce, te aconselho a ver a “Série de Guias Visuais de Hooks do WooCommerce“
Neste artigo, você aprenderá como a página de checkout do WooCommerce é construída e como…
O WordPress usa os plugins drop-in, um recurso oculto, para substituir, adicionar ou aprimorar um…
Descubra se o WordPress é realmente gratuito e aprenda sobre os custos associados à criação…
Fala Profissional! Neste tutorial, eu, Rafa Carvalhido vou ajudar a resolver um bug específico que…
Encontre os hooks do WooCommerce na página de produto rapidamente! Este guia prático mostra de…
Fala Profissional! Você está buscando integrar a nova API dos Correios com seu e-commerce? Está…