
Небольшой код, который позволяет вывести дополнительный столбец в разделе товары Woocommerce.
Для этого необходимо добавить следующий код в файл functions.php.
Код представлен сайтом: https://chat.qwen.ai
[php]
Добавляем новый столбец "Атрибуты"
add_filter(‘manage_edit-product_columns’, ‘add_product_attributes_column’);
function add_product_attributes_column($columns) {
// Добавляем столбец после столбца "Цена"
$columns[‘attributes’] = ‘Атрибуты’;
return $columns;
}
// Заполняем столбец "Атрибуты" данными
add_action(‘manage_product_posts_custom_column’, ‘fill_product_attributes_column’, 10, 2);
function fill_product_attributes_column($column, $post_id) {
if ($column === ‘attributes’) {
// Получаем все атрибуты товара
$product = wc_get_product($post_id);
$attributes = $product->get_attributes();
$output = »;
foreach ($attributes as $attribute) {
// Проверяем, является ли атрибут глобальным
if ($attribute->is_taxonomy()) {
$taxonomy = $attribute->get_name();
$terms = wp_get_post_terms($post_id, $taxonomy);
if (!empty($terms) && !is_wp_error($terms)) {
$term_names = array();
foreach ($terms as $term) {
$term_names[] = $term->name;
}
$output .= ‘<strong>’ . $attribute->get_name() . ‘:</strong> ‘ . implode(‘, ‘, $term_names) . ‘<br>’;
}
} else {
// Если атрибут не глобальный
$output .= ‘<strong>’ . $attribute->get_name() . ‘:</strong> ‘ . $attribute->get_options()[0] . ‘<br>’;
}
}
echo !empty($output) ? $output : ‘Нет атрибутов’;
}
}
[/php]
Пример использования: