Obter lista de produtos do woocommerce
-
Olá Srs.(a)
Estou precisando de uma ajuda.
Estou desenvolvendo um plugin para WP-Woocommerce que deve alterar as propriedades de alguns produtos.Basicamente é: (Obs. Os produtos já estão cadastrados)
Listar todos os produtos com uma determinada referencia e alterar seus status como “fora de estoque” ou vice-versa.Eu estou travado ainda na parte de listar os produtos… Dei uma olhada em alguns códigos que encontrei mas não consegui entende-los.
O código abaixo foi o único que consegui alguma coisa, mas o mesmo eu tenho que informar o “ID” manualmente.
$todos_produtos = new WC_Product_Factory(); $produto = $todos_produtos->get_product(337); echo '>> '.$produto->get_price();
Alguém pode me ajudar nesses problemas?
Obrigado desde já.
-
Eu estou travado ainda na parte de listar os produtos…
Para listar produtos, tem que fazer da mesma forma que vai listar posts ou páginas no WordPress, que no caso é ou utilizando
WP_Query
ouget_posts()
.O código abaixo foi o único que consegui alguma coisa, mas o mesmo eu tenho que informar o “ID” manualmente.
Nunca use o
WC_Product_Factory()
, esta classe não deve ser acessada diretamente fora do WooCommerce, o correto é utilizarwc_get_product()
para retornar um objeto de produto.Desta forma uma vez que você faz um loop com
WP_Query
ouget_posts()
você pode passar os ids ou os objetos doWP_Post
parawc_get_product()
e ter todas as informações do produto.Obrigado Claudio pela Luz…
Consegui listar os produtos Segue exemplo:$args = array( 'posts_per_page' => -1, // -1 Mostrar todos 'post_type' => 'product' ); $query = new WP_Query($args); // Checar resultado if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); $produto = wc_get_product(get_the_id()); // Metodos da WC_Product echo $produto->get_title().'<br>'; } } // Restore original post data. wp_reset_postdata();
Agora preciso alterar o preço definitivo.
Pelo método set_price() ele altera somente no momento.
Alguém sabe como posso realizar a alteração do preço definitivamente??Pode salvar utilizando a função
_wc_save_product_price()
.
Aqui tem mais detalhes sobre ela: https://docs.woothemes.com/wc-apidocs/function-_wc_save_product_price.htmlPerfeito Claudio… Obrigado pela ajuda.
Usei a função _wc_save_product_price();
Está atualizando os preços.Muito Obrigado.
🙂
- O tópico ‘Obter lista de produtos do woocommerce’ está fechado para novas respostas.