Produtos Woocommerce mostrando a mensagem "Fora de estoque" quando não está realmente fora de estoque

Problema no site de um cliente em que os produtos são exibidos aleatoriamente

"Este produto está atualmente fora de estoque e indisponível."

O problema é que não temos o rastreamento de inventário ativado, todos os produtos devem estar em estoque o tempo todo.

Quando vou ao administrador do WordPress e clico no botão de atualização do produto (sem alterar nada), a mensagem desaparece e o botão "Adicionar ao carrinho" é exibido como deveria. Infelizmente, o problema se repete nesses itens no futuro e, para corrigi-lo, preciso atualizar o produto novamente (também clicar em atualizar nas configurações do WooCommerce temporariamente resolve o problema).

Preciso encontrar uma maneira de corrigir esse problema permanentemente para que ele não se reverta.

Detalhes do site:

Usando o WordPress 3.9.1WooCommerce 2.1.12PHP 5.3.10 (também experimentado localmente com 5.5.10)

O que eu tentei

Removendo todos os plugins, exceto o WooCommerceAlteração de temas (tentei todos os temas padrão do WordPress e alguns temas WooThemes sem sucesso)WooCommerce atualizado (era v 2.1.5)Inserido manualmente em wp_postmeta adicionando a meta-chave_manage_stock e configure parano (como observado em alguns dos produtos de trabalho que temos)Inserido manualmente em wp_postmeta, adicionando a meta-chave '_stock' e defina-a como0 (como observado em alguns dos produtos de trabalho que temos)Comparou o postmeta do produto antes e depois de clicar no botão de atualização para observar se alguma coisa havia mudado que causaria o problema ... nadaNenhum cache está ativadoUtilizou o XDebug para rastrear o$available_variations variável emvariable.php eclass-wc-ajax.php eclass-wc-product-variable.php.

Ao depurar, notei que em produtos que estavam funcionando,$available_variations A variável continha 2 matrizes preenchidas com informações do produto; no entanto, nos produtos que não continham, era uma matriz vazia (o que resulta na mensagem de falta de estoque sendo exibida como servida porvariable.php) Clicar no botão Atualizar e rastrear a variável mostra as informações corretamente.

Honestamente, neste ponto, estou perdido. Eu acho que a questão está em algum lugar das duas classes, mas não sei dizer.

Alguém mais teve problemas com isso? Como contornar esse problema, não preciso atualizar os produtos para este cliente.

Link para o produto que está fora de estoque (a partir da publicação)http://highlandsministriesonline.org/product/basement-tapes/resentment-in-the-church-135/

Link para o produto que está sendo exibido corretamentehttp://highlandsministriesonline.org/product/basement-tapes/bt0111-church-at-corinth-i/

Log de erros Adicionei um log de erros à classe de variação do produto. Aqui está o resultado:

Para produtos com a mensagem "fora de estoque", nada é exibido no log.

Um exemplo de produto que funciona corretamente:

WC_Product_Variation Object
(
    [variation_id] => 1310
    [parent] => WC_Product_Variable Object
        (
            [children] => Array
                (
                    [0] => 1311
                    [1] => 1310
                )

            [total_stock] => 
            [id] => 1308
            [post] => WP_Post Object
                (
                    [ID] => 1308
                    [post_author] => 1
                    [post_date] => 2012-04-03 14:29:42
                    [post_date_gmt] => 2012-04-03 18:29:42
                    [post_content] => This audio presentation on homeschooling is a Basement Tape conversation on homeschooling.
<h2>What are The Basement Tapes?</h2>
<em>The Basement Tapes</em> are conversations between Dr. R.C. Sproul Jr., Rev. Laurence Windham, their friends and special guests, on subjects related to the “good life,” a simple, separate, and deliberate life, lived out for the glory of God and for the building of His Kingdom.

You might even say that the Basement Tapes serve to help us develop a Christian worldview. Started in 2002, we now have over #140 conversations on all areas of life that we are seeking to think biblically about so that we might take dominion over them for the King and His kingdom.

<strong>Format: Available in both CD and MP3</strong>

<strong>Length: Sixty minutes</strong>
                    [post_title] => Basement Tape #109: Homeschooling Redux
                    [post_excerpt] => It's been 108 weeks since we last talked about the subject of homeschooling our children. Our tykes have grown into teenagers. What have we learned in the past nine years? What has changed? What remains the same is that homeschooling means discipleship; passing down your most important convictions to your children and teaching them our holy religion.
                    [post_status] => publish
                    [comment_status] => open
                    [ping_status] => closed
                    [post_password] => 
                    [post_name] => bt0109-homeschooling-reducks
                    [to_ping] => 
                    [pinged] => 
                    [post_modified] => 2014-07-07 11:08:46
                    [post_modified_gmt] => 2014-07-07 15:08:46
                    [post_content_filtered] => 
                    [post_parent] => 0
                    [guid] => http://50.57.190.158/?post_type=product&#038;p=1308
                    [menu_order] => 0
                    [post_type] => product
                    [post_mime_type] => 
                    [comment_count] => 0
                    [filter] => raw
                )

            [product_type] => variable
        )

    [variation_data] => Array
        (
            [attribute_pa_audio-options] => mp3-download
        )

    [variation_has_length] => 
    [variation_has_width] => 
    [variation_has_height] => 
    [variation_has_weight] => 
    [variation_has_stock] => 
    [variation_has_sku] => 1
    [variation_shipping_class] => 
    [variation_shipping_class_id] => 
    [variation_has_tax_class] => 
    [variation_has_downloadable_files] => 1
    [id] => 1308
    [post] => WP_Post Object
        (
            [ID] => 1308
            [post_author] => 1
            [post_date] => 2012-04-03 14:29:42
            [post_date_gmt] => 2012-04-03 18:29:42
            [post_content] => This audio presentation on homeschooling is a Basement Tape conversation on homeschooling.
<h2>What are The Basement Tapes?</h2>
<em>The Basement Tapes</em> are conversations between Dr. R.C. Sproul Jr., Rev. Laurence Windham, their friends and special guests, on subjects related to the “good life,” a simple, separate, and deliberate life, lived out for the glory of God and for the building of His Kingdom.

You might even say that the Basement Tapes serve to help us develop a Christian worldview. Started in 2002, we now have over #140 conversations on all areas of life that we are seeking to think biblically about so that we might take dominion over them for the King and His kingdom.

<strong>Format: Available in both CD and MP3</strong>

<strong>Length: Sixty minutes</strong>
            [post_title] => Basement Tape #109: Homeschooling Redux
            [post_excerpt] => It's been 108 weeks since we last talked about the subject of homeschooling our children. Our tykes have grown into teenagers. What have we learned in the past nine years? What has changed? What remains the same is that homeschooling means discipleship; passing down your most important convictions to your children and teaching them our holy religion.
            [post_status] => publish
            [comment_status] => open
            [ping_status] => closed
            [post_password] => 
            [post_name] => bt0109-homeschooling-reducks
            [to_ping] => 
            [pinged] => 
            [post_modified] => 2014-07-07 11:08:46
            [post_modified_gmt] => 2014-07-07 15:08:46
            [post_content_filtered] => 
            [post_parent] => 0
            [guid] => http://50.57.190.158/?post_type=product&#038;p=1308
            [menu_order] => 0
            [post_type] => product
            [post_mime_type] => 
            [comment_count] => 0
            [filter] => raw
        )

    [product_type] => variation
    [product_custom_fields] => Array
        (
            [_sku] => Array
                (
                    [0] => BT0109MP3
                )

            [_price] => Array
                (
                    [0] => 3
                )

            [_sale_price] => Array
                (
                    [0] => 
                )

            [_weight] => Array
                (
                    [0] => 
                )

            [_length] => Array
                (
                    [0] => 
                )

            [_width] => Array
                (
                    [0] => 
                )

            [_height] => Array
                (
                    [0] => 
                )

            [_stock] => Array
                (
                    [0] => 
                )

            [_thumbnail_id] => Array
                (
                    [0] => 0
                )

            [_virtual] => Array
                (
                    [0] => yes
                )

            [_downloadable] => Array
                (
                    [0] => yes
                )

            [_download_limit] => Array
                (
                    [0] => 
                )

            [_downloadable_files] => Array
                (
                    [0] => a:1:{s:32:"a0a87d43e69ed9de646ba479c252c9fb";a:2:{s:4:"name";s:29:"109-Homeschooling-Reducks.mp3";s:4:"file";s:113:"http://highlandsministriesonline.org/wp-content/uploads/woocommerce_uploads/2012/04/109-Homeschooling-Reducks.mp3";}}
                )

            [_regular_price] => Array
                (
                    [0] => 3
                )

            [_sale_price_dates_from] => Array
                (
                    [0] => 
                )

            [_sale_price_dates_to] => Array
                (
                    [0] => 
                )

            [_download_expiry] => Array
                (
                    [0] => 
                )

            [attribute_pa_audio-options] => Array
                (
                    [0] => mp3-download
                )

        )

    [sku] => BT0109MP3
    [downloadable_files] => a:1:{s:32:"a0a87d43e69ed9de646ba479c252c9fb";a:2:{s:4:"name";s:29:"109-Homeschooling-Reducks.mp3";s:4:"file";s:113:"http://highlandsministriesonline.org/wp-content/uploads/woocommerce_uploads/2012/04/109-Homeschooling-Reducks.mp3";}}
    [downloadable] => yes
    [virtual] => yes
    [sale_price_dates_from] => 
    [sale_price_dates_to] => 
    [price] => 3
    [regular_price] => 3
    [sale_price] => 
    [total_stock] => 0
    [dimensions] => 
)

Próximas etapas possíveis Meu próximo pensamento, se eu não conseguir resolver isso, é escrever um script que analise e atualize cada produto no site todas as noites (uma vez que a correção temporária parece funcionar para pelo menos 24). Embora, se eu puder economizar um pouco do meu tempo, prefiro não, se outra pessoa puder resolver esse problema permanentemente.

Atualização em 23 de outubro de 2014

Esse problema ainda está ocorrendo, apesar de tentar as respostas abaixo. Criei um plug-in de registro para ajudar a rastrear a frequência das mensagens de falta de estoque e ajudar a correlacionar a mensagem com qualquer ação realizada no site. No momento, ele está personalizado para este site específico, mas estou trabalhando em uma versão para compartilhar com todos, para que, mesmo que eu não encontre a resposta, alguém possa.

questionAnswers(6)

yourAnswerToTheQuestion