Adicionar categoria a produto variável

Eu quero ter uma página no eshop exibir todos os produtos que estão à venda. Para conseguir isso, preservando a funcionalidade de filtragem, decidi implementá-lo através de uma categoria de “venda” que atualiza automaticamente sempre que uma mudança é feita.

Eu encontrei esse plugin que faz exatamente isso, mas aparentemente funciona apenas com produtos simples (snippet abaixo). Estive tentando adicionar categoria a produtos variables ​​através do código php sem sucesso.

O que encontrei e tentei apenas parece funcionar com produtos simples:

public function assign_sale_category( $meta_id, $post_id, $meta_key, $meta_value ) { if ( $meta_key != '_price' ) { return; // do nothing, if the meta key is not _price } //my code here if ( wp_get_post_parent_id( $post_id ) ) { //return; // bail if this is a variation } $product = wc_get_product( $post_id ); if ( $product->is_on_sale() ) { // product is on sale, let's assign the sale category wp_set_object_terms( $post_id, $this->sale_category, 'product_cat', true ); } else { // product is not on sale, let's remove the sale category wp_remove_object_terms( $post_id, $this->sale_category, 'product_cat' ); } } 

Adicionando o seguinte código na parte com o ” // meu código aqui “, todos os produtos que estão agora à venda aparecem (sem desaparecer quando não estão mais vendidos), o que significa que wp_set_object_terms () está realmente funcionando.

  $products = wc_get_product_ids_on_sale(); if ( $products ) { foreach ( $products as $test_post_id) { wp_set_object_terms( $test_post_id, $this->sale_category, 'product_cat', true ); } } 

O que me faz refletir onde é a culpa na verdade?
Obviamente, o processamento em massa de todo o catálogo para qualquer mudança de preço não é uma solução viável.

Eu também li que os produtos de variação são atualizados via ajax, mas não tenho certeza de como usar essa informação.
Nota: Eu sei com certeza que a adição de uma categoria ao produto variável principal é possível porque pode ser feita manualmente através do painel de controle.

Solutions Collecting From Web of "Adicionar categoria a produto variável"