WooCommerce — дополнительный столбец в таблице с продуктами

Довольно часто мы сталкиваемся с ситуацией, когда необходимо вывести какую-то дополнительную информацию в административной панели и стандартных столбцов в таблице с товарами нам не хватает.

Решается это задача максимально просто: первой функцией мы добавим столбец. А второй выведем необходимую информацию на экран.

add_filter( 'manage_edit-product_columns', 'webgleb_add_description_status_column', 9999 );
function webgleb_add_description_status_column( $columns ){
	$columns['product-description'] = 'Описание';
	return $columns;
}

Мы добавили в массив $columns новую пару ключ-значение, где product-description это уникальный ключ в массиве, а его значение — название столбца.

Теперь второй функцией мы будет в этом столбце выводить информацию. Для этого воспользуется хуком manage_product_posts_custom_column. Код будет примерно такой:

add_action( 'manage_product_posts_custom_column', 'webgleb_add_description_status_column_content', 10, 2 );
function webgleb_add_description_status_column_content( $column, $product_id ){
    if ( $column == 'product-description' ) {
        $product = wc_get_product( $product_id );
        $description = $product->get_description();
        $out = (empty($description)) ? 'Нет' : 'Есть';
        echo $out;
    }
}

Тут мы получаем данные о продукте по его ID. Далее получаем описание продукта в переменную $description. После, с помощью тернарного оператора, записываем в переменную $out есть или нет контент у данного поста.

Таким нехитрым способом мы сделали удобный столбец в админке, который подскажет, заполнено ли описание продукта или нужно вставить данные о нем.

Мы можете выводить любую информацию в этот столбец, дальше уже зависит от Вашей фантазии.