Редактирование WooCommerce Product таблицу?

704
28 января 2017, 12:26

Хочу вынести возможность управления порядка товара, где идут метки, категория, дата и т.д., в WooCommerce есть функция: Товары - ваш_товар - дополнительно - Меню заказа (произвольное упорядочивание позиций) на 3 шага.

Как видно, путь довольно долгий, и пройти его с каждым товаром когда их 1 000, 5 000, и так далее, крайне затруднительно.

Зашел в доки Woocommerce Hooks, там нет ничего подобного, что бы хукнуть вывод таблицы и добавить столбец, поле в каждом продукте сразу на странице всех продуктов.

Кто редактировал таблицу WooCommerce Wordpress, подскажите куда копать, как сделать?

Возможно плагин есть, для редактирования таблицы вукомерс, и выноса етого поля в таблицу.

  • добавить столбец
  • добавить поле и кнопку обновить продукт
  • наложить хуки на обновление продукта по критерию "Меню заказа ".
Answer 1

Все не так. WooCommerce не создает никаких своих таблиц (загляните в базу). Товар - это кастомный пост WordPress, типа product (таблица wp_posts). Поля товара - метаданные этого поста (таблица wp_postmeta). Поле товара Цена (например) обновляется программно следующим образом:

 update_post_meta($id, '_price', $price);

Но то, о чем вы спрашиваете - это поле самого поста, в таблице wp_posts. Обновляется так:

        $post->menu_order = $order;
        wp_update_post( $post );

Пример кода, который можно вставить с functions.php для обновления всех товаров в базе:

function update_WC() {
    $args = array (
        'numberposts' => -1,
        'post_type' => 'product');
    $posts = get_posts( $args );
    foreach( $posts as $post ) {
        $id = $post->ID;
        $order = ... ;
        $post->menu_order = $order;
        wp_update_post( $post );
        $price = ... ;
        update_post_meta($id, '_price', $price);
    }
}
// add_action ('init', 'update_WC');    // for development purposes only

Имейте ввиду, что код будет вызываться при каждом обращении к сайту. Т.е. строчку с add_action надо раскомментировать, обновить любую страницу сайта и быстренько закомментировать эту строчку назад.

READ ALSO
помогите составить запрос выборки из mysql

помогите составить запрос выборки из mysql

Всем доброго настроения! Я учусь, не пинайте ) Помогите составить запрос mysql

344
Проблема со SwiftMailer

Проблема со SwiftMailer

На сайте использую SwiftMailerЭто второй проект, где я работаю с ним

359
День недели по дате

День недели по дате

Есть массив с датами такого типа 2016-12-15,2016-12-12

389
PHP echo не передает атрибут “checked” у радиокнопки

PHP echo не передает атрибут “checked” у радиокнопки

Есть слайдер, который вытягивает картинки из БД, переключение м/у картинками должно осуществляться через переходы по радиокнопкам посредством...

386