Конвертация записей WordPress в товары WooCommerce

27 дек. 2013 г., 14:27:50
Просмотры: 24.6K
Голосов: 3

Есть ли способ конвертировать все существующие записи на нашей установке WordPress в товары, используя MySQL запрос или что-то подобное?

1
Комментарии

Спасибо за это... но также необходимо изменить тип категории в таблице таксономий, иначе сайт начинает вести себя странно! Перенос типа тегов тоже полезен, если вы их использовали. Когда я это сделал, посты с категориями теперь = правильно помеченные и категоризированные товары. :-) http://docs.woothemes.com/document/managing-product-taxonomies/

User User
11 сент. 2014 г. 00:38:21
Все ответы на вопрос 5
2

Вы можете обновить post_type в таблице mysql wp_posts, изменив post_type на product

Пример запроса: UPDATE wp_posts SET post_type = 'product' WHERE post_type = 'post';

27 дек. 2013 г. 14:44:42
Комментарии

Правильный тип записи - 'product', а не 'products', в остальном отличное решение, вам не нужен плагин для такой простой задачи.

Do Not Track Me Do Not Track Me
7 мая 2014 г. 05:09:29

Но как насчет заполнения всей мета-информации продуктов, такой как вес и размеры? Этот способ просто меняет тип записей на правильный, но не переносит данные в соответствующие поля.

EHerman EHerman
12 нояб. 2014 г. 22:41:36
0

Вы можете установить плагин Post Type Switcher

Или выполнить SQL-запрос в вашей базе данных, чтобы изменить тип записи на тип товара

UPDATE  `wp_posts` SET  `post_type` =  'product' WHERE  `post_type` = 'post';

Сначала создайте резервную копию базы данных.

UPDATE  `wp_posts` SET  `post_type` =  'wpsc-product' WHERE  `post_type` = 'post';
27 дек. 2013 г. 15:12:11
2

Пожалуйста, используйте $wpdb для взаимодействия с базой данных.

global $wpdb;
$wpdb->update(
    // Имя таблицы
    $wpdb->posts,
    // Новые значения
    array( 'post_type' => 'product', ),
    // Базовое условие SQL "WHERE" / изменяемые строки
    array( 'post_type' => 'post', ),
    // Тип данных (доступны: %s строка, %d целое число, %f число с плавающей точкой)
    '%s',
    // Тип условия SQL "WHERE"
    '%s'
);

Имейте в виду, что этот запрос изменит post_type всех записей post на product. Настоятельно рекомендуется создать резервную копию вашей базы данных перед выполнением этой операции. Ещё лучше, если вы используете тестовую (локальную) установку и отточите процесс обновления там.

Подробнее об обновлении строк в базе данных.

Подробное Руководство по работе с MySQL в командной строке можно найти в этом обширном мета-посте.

11 сент. 2014 г. 01:14:11
Комментарии

Если вы делаете это с помощью WordPress, это хороший совет. Однако я бы порекомендовал выполнять такую работу с использованием MySQL Workbench или командной строки. И обязательно нужно отрабатывать процесс локально.

Peter Wooster Peter Wooster
17 нояб. 2014 г. 21:09:33

@PeterWooster У нас есть мета-пост на этот счёт - смотрите обновление и ссылку внизу ответа. Кроме того, этот ответ просто показывает альтернативу другим ответам, объясняющим чистые SQL-команды (и, возможно, игнорирует тот факт, что некоторые части могут изменяться, например префикс таблиц БД). Также есть примечание, что это следует тестировать локально.

kaiser kaiser
17 нояб. 2014 г. 21:51:27
0

Дополнительно (необязательно): SQL-запрос для преобразования категорий в product_cat

UPDATE `wp_term_taxonomy` SET `taxonomy`='product_cat' WHERE `taxonomy`='category'
5 сент. 2018 г. 16:55:46
0

Я использовал https://wpsheeteditor.com/. Другие решения были бы хороши, если бы нужно было обработать все страницы — в таком случае я бы использовал SQL-запрос. Но у меня было около 30 страниц, которые требовали изменений, и 40 — которые не требовали. Даже если бы некоторые изменения пришлось откатить, я бы сделал это, но этот плагин для редактирования таблиц оказался огромным подспорьем.

30 июн. 2020 г. 21:12:06