Как в админке WordPress вывести столбец Атрибуты в списке товаров

Как в админке WordPress вывести столбец Атрибуты в списке товаров
Как в админке WordPress вывести столбец Атрибуты в списке товаров

Небольшой код, который позволяет вывести дополнительный столбец в разделе товары 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]

Пример использования:

guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии