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 есть или нет контент у данного поста.
Таким нехитрым способом мы сделали удобный столбец в админке, который подскажет, заполнено ли описание продукта или нужно вставить данные о нем.
Мы можете выводить любую информацию в этот столбец, дальше уже зависит от Вашей фантазии.