2016-08-27 5 views
1

У меня есть скрипт, который программно обновляет цены на продукты woocommerce. Теперь я пытаюсь отключить/установить частный вариант, если нет цены из моего канала.Варианты продукта Woocommerce «исчезают» после программного изменения статуса

Вот код:

$query = "UPDATE wp_posts SET 
      post_status = %s 
      WHERE ID = %s"; 
$result = $wpdb->get_results($wpdb->prepare($query, 'private', $post_id)); 

Хотя дб, кажется, правильно обновлены изменения не отражаются в сор. На самом деле вариация продукта полностью исчезает как в бэкэнд, так и в интерфейсе.

Похоже, сор не видит изменения на всех ...

В качестве теста я пытался реверс и установить изменение private обратно public с тем же результатом.

Я также попытался синхронизировать изменения после обновления БД с:

$_product = wc_get_product($post_parent_id); 
$_product->variable_product_sync(); 

или

do_action('woocommerce_variable_product_sync', $post_parent_id);

но результат тот же.

Есть ли у кого-нибудь идеи, что здесь происходит?

Благодаря

ответ

0

OK это е # * нг опечатка:

правильное значение publish не public

Смежные вопросы