Заказы Woocommerce не отображаются все после обновления Wordpress 5.0.3 - PullRequest
0 голосов
/ 14 февраля 2019

Заказы Woocommerce не отображаются на странице заказов в административной панели после обновления WordPress до версии 5.0.3.После небольшой отладки отправленный запрос отличается между двумя версиями.Раньше это было:

SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID FROM wp_posts  WHERE 1=1  AND wp_posts.post_type = 'shop_order' AND ((wp_posts.post_status = 'wc-pending' OR wp_posts.post_status = 'wc-processing' OR wp_posts.post_status = 'wc-on-hold' OR wp_posts.post_status = 'wc-completed' OR wp_posts.post_status = 'wc-cancelled' OR wp_posts.post_status = 'wc-refunded' OR wp_posts.post_status = 'wc-failed' OR wp_posts.post_status = 'wc-shipped' OR wp_posts.post_status = 'wc-approved'))  ORDER BY wp_posts.post_date DESC LIMIT 0, 20

раньше, но в более новой версии:

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'shop_order' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'wc-shipped' OR wp_posts.post_status = 'wc-approved' OR wp_posts.post_status = 'future' OR wp_posts.post_status = 'draft' OR wp_posts.post_status = 'pending' OR wp_posts.post_status = 'private') ORDER BY wp_posts.post_date DESC LIMIT 0, 20

Я использую WooCommerce v3.2.1

1 Ответ

0 голосов
/ 14 февраля 2019

Проблема в том, что в новом запросе отсутствуют некоторые статусы для заказов.

Поскольку вы не можете обновить WooCommerce, вы можете зайти в основной файл и выполнить те же изменения, что и в исправлении.

Найдите это в includes/admin/list-tables/class-wc-admin-list-table-orders.php:

if ( ! isset( $query_vars['post_status'] ) ) {

и измените его на:

if ( empty( $query_vars['post_status'] ) ) {

Поскольку переменные по умолчанию WordPress изменились.

Это коммит, о котором идет речь: https://github.com/woocommerce/woocommerce/compare/3.5.2...3.5.3#diff-572cadf09364d3a4d4e8c20e061b21f5

А примечание к выпуску здесь: https://woocommerce.wordpress.com/2018/12/20/woocommerce-3-5-3-release-notes/

Обновление

Поскольку файл не существует в 3.5.2, вы можете выполнить то же изменение в class-wc-admin-post-types.php в line 1635:

if ( ! isset( $vars['post_status'] ) ) {

Кому:

if ( empty( $vars['post_status'] ) ) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...