У вас возникла проблема с веб-сайтом клиента, где продукты отображаются случайным образом
"Этот продукт в настоящее время отсутствует на складе и недоступен".
Дело в том, что у нас нет отслеживания инвентаря, все продукты должны быть в наличии все время.
Когда я перехожу в администратор WordPress и нажимаю кнопку обновления для продукта (ничего не меняя), а затем сообщение исчезает, и кнопка "Добавить в корзину" отображается так, как должна. К сожалению, проблема повторится в этих пунктах в будущем, и, чтобы исправить это, я должен снова обновить продукт (также нажатие обновления в настройках WooCommerce временно решает проблему).
Мне нужно найти способ исправить эту проблему навсегда, чтобы она не возвращалась сама.
Детали сайта:
- Использование WordPress 3.9.1
- WooCommerce 2.1.12
- PHP 5.3.10 (также проверено локально с 5.5.10)
Что я пробовал
- Удаление всех плагинов, но WooCommerce
- Изменение тем (пробовал все стандартные темы WordPress и несколько тем WooThemes безрезультатно)
- Обновлен WooCommerce (он был v 2.1.5)
- Вручную добавлено в wp_postmeta, добавив мета-ключ
_manage_stock
и установите его наno
(как это наблюдается в некоторых работающих продуктах) - Вставляется вручную в wp_postmeta, добавляя мета-ключ "_stock" и устанавливая его на
0
(как это наблюдается в некоторых рабочих продуктах, которые мы имеем) - По сравнению с postmeta продукта до и после нажатия кнопки обновления, чтобы наблюдать, что что-то изменилось, что вызовет проблему... ничего
- Кэширование не включено
- Используется XDebug для отслеживания переменной
$available_variations
вvariable.php
иclass-wc-ajax.php
иclass-wc-product-variable.php
.
При отладке я заметил, что в продуктах, в которых работала переменная $available_variations
, содержала 2 массива, заполненных информацией о продукте, однако на продуктах, которые этого не сделали, это был пустой массив (что приводит к тому, что сообщение об отсутствии отображается как обслуживается variable.php
). Нажав кнопку обновления, а затем отслеживая переменную, информация отображается правильно.
Честно говоря, сейчас я в недоумении. Я думаю, что проблема находится где-то в любом из классов, но я не могу сказать.
У кого-нибудь еще были проблемы с этим? В любом случае, я не должен постоянно обновлять продукты для этого клиента.
Ссылка на продукт, который отсутствует на складе (начиная с публикации) http://highlandsministriesonline.org/product/basement-tapes/resentment-in-the-church-135/
Ссылка на продукт, который отображается правильно http://highlandsministriesonline.org/product/basement-tapes/bt0111-church-at-corinth-i/
Журнал ошибок Я добавил журнал ошибок в класс вариации продукта. Вот результат:
Для продуктов с сообщением "нет на складе" в журнале ничего не отображается.
Пример продукта, который функционирует правильно:
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 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&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 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&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] =>
)
Потенциальные следующие шаги. Моя следующая мысль, если я не могу решить эту проблему, - написать script, который будет проходить и обновлять каждый продукт на веб-сайте по ночам (поскольку временное исправление кажется для работы по крайней мере 24 наших). Хотя, если я смогу сэкономить некоторое время, я бы предпочел, чтобы кто-то еще не смог решить эту проблему навсегда.
Обновление от 23 октября 2010 года
Эта проблема все еще происходит, несмотря на попытки ответить ниже. Я создал плагин для ведения журнала, который, надеюсь, поможет отслеживать частоту отсутствия сообщений и, надеюсь, поможет соотнести это сообщение с любыми действиями, совершаемыми на веб-сайте. В настоящее время он настроен на этот конкретный веб-сайт, но я работаю над версией, чтобы поделиться со всеми вами, чтобы даже если я не могу найти ответ, кто-то может.