как в заголовке, я пытаюсь получить сумму моего переменного продукта (для каждого продукта) в админе вместо индикатора «нет на складе» или «на складе». У меня есть переменный продукт, поэтому мне нужна сумма одного варианта, чтобы получить весь мой продукт (у меня брюки разного размера и другого цвета, но мне нужна только сумма всех размеров). Кто-нибудь дошел до меня? Заранее спасибо, Франческо
Наконец я нашел решение. Прежде всего, это
function add_qty_admin( $column ) { if (!isset($columns['total_qty'])) $columns['total_qty'] = "Quantità"; return $columns; } add_filter( 'manage_posts_columns', 'add_qty_admin' );
to functions.php, чтобы иметь колонку в моем бэкэнд.
Тогда я добавил также это
function admin_post_data_row($column_name, $post_id) { global $wpdb; switch($column_name) { case 'total_qty': $query = "SELECT sum(meta_value) FROM $wpdb->posts AS p, $wpdb->postmeta AS s WHERE p.post_parent = %d AND p.post_type = 'product_variation' AND p.post_status = 'publish' AND p.id = s.post_id AND s.meta_key = '_stock'"; $product_qty = $wpdb->get_var($wpdb->prepare($query,$post_id)); if ($product_qty) echo $product_qty; break; default: break; } } add_action( 'manage_posts_custom_column', 'admin_post_data_row', 10, 2);
где $query
– это $query
SQL, который суммирует все значения _stock
в таблице post_parent
для post_parent
сообщений, которые являются вариантами post_id
.
Извините за мой бедный английский (я итальянский), я надеюсь, что этот код может быть полезен другим людям. Франческо.