Перенос интернет-магазина с OpenCart на Woocommerce WordPress

Не так давно переносил инет-магазин компьютерной техники и комиксов/игр wgg.su с OpenCart на Woocommerce WordPress. Запишу по памяти то, что помню (заметка для себя, так сказать, а то уже почти все забыл, но в будущем вполне может понадобиться инструкция по переносу сайта с уже устаревающего Опенкарта на новомодный Вукомерс, а в свое время я довольно немало сайтов наклепал на опенкарте).

Сначала я сделал экспорт всех товаров с помощью плагина opencart-2-x-export-import-multilingual-3-22.ocmod.zip (также пробовал плагин cart2cart, но там обязательно его покупать, бесплатная версия многого не даст (только один товар)) на опенкарт в CSV-файл Excel, потом сделал импорт товаров из полученного файла уже непосредственно в Вукомерс с помощью плагина WP All Import и добавленного к нему плагина WP All Import — WooCommerce Add-On. Но, тут было много тонкостей.  В плагине нужно указать каждое поле из опенкарта как необходимое уже в Вукоммерсе (для этого можно сначала создать тестовый товар с необходимыми полями). С первого раза все товары не перенеслись, я несколько раз перенастраивал плагин и делал несколько импортов. Категории не перенеслись, их я создавал и прописывал адреса вручную (если оставить те же адреса для товаров и категорий, пусть даже в других каталогах, вордпресс сам переносит в нужную подпапку в большинстве случаев. То есть, если на старом инет-магазине у товара был адрес

wgg.su/tovar/

, то на новом инет-магазине будет также работать адрес

wgg.su/shop/components/videocards/tovar/

Главное сохранять урлы категорий и самих товаров. После того, как все товары импортированы, они будут все в одной категории Uncategorized и их уже вручную нужно переносить в необходимые категории на странице Товаров в админке. Но там без проблем, они идут по порядку категориями, поэтому разделять их между собой не составит особого труда, смотря сколько всего у вас товаров. У меня несколько сотен, поэтому особых проблем не было.

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

Также я не полностью перенес верстку, так как на старом движке не было мобильной версии и не очень хорошо все работало на разных разрешениях экрана, сейчас все отлично. Я лишь необходимые элементы встроил в стандартную тему Вукомерса Storefront, также добавил нужные мне страницы типа Контакты/Доставка.

Было/стало:

Как изначально хотел, разместил на главной сетку разделов.

Много изменений внес на странице категории, такие как: отображение изображения раздела, отображение ограниченного количества описания, мелкие изменения по верстке и прочее.

Вроде все изменения вносил, добавив в файл сайт.ру/public_html/wp-content/themes/имятемы/functions.php следующее:

function woocommerce_support() {
add_theme_support( ‘woocommerce’ );
add_theme_support( ‘wc-product-gallery-zoom’ );
add_theme_support( ‘wc-product-gallery-lightbox’ );
add_theme_support( ‘wc-product-gallery-slider’ );
};
add_action(‘woocommerce_archive_description’, ‘woocommerce_category_image’, 20);
function woocommerce_category_image() { global $product; if (is_product_category()) { global $wp_query; $cat = $wp_query->get_queried_object(); $thumbnail_id = get_woocommerce_term_meta($cat->term_id, ‘thumbnail_id’, true); $image = wp_get_attachment_url($thumbnail_id); if ($image) {
echo «<img class=’descimage’ src='» . esc_url($image) . «‘ alt='» . woocommerce_page_title($echo = false) . «‘ >»; };
} }

add_filter( ‘woocommerce_after_shop_loop_item’, ‘wpspec_show_product_description’, 7 );

function wpspec_show_product_description() {
if ( is_tax( ‘product_cat’ ) ) {
echo ‘<div class=»woo-product-short-desc»>’ . substr(get_the_excerpt(),0,98) . ‘…</div>’;
}
}

Еще какие-то изменения вносил на странице самого товара:

Записи сделал отображаемыми на странице Статьи и делал там тоже изменения по верстке в файле single.php.

Нижнее меню, кстати, добавил следующей строчкой в каждом файле, отображающем товары и записи (single.php, archive.php, page.php и прочих):

<?php

include («footmenu.php»);

?>

А текст самого меню редактирую в файле footmenu.php находящемся в папке темы:

<div class=»foot-menu»>
<a href=»/delivery» >Доставка и оплата</a>
<a href=»/contacts» >Контакты</a>
<div class=».b-socgroups»>
<strong>Соцсети:</strong> <a class=»b-socgroups__item b-socgroups__item_vk fa fa-vk fa-lg» href=»https://vk.com/» target=»_blank» rel=»noopener noreferrer»></a><a class=»b-socgroups__item b-socgroups__item_ok fa fa-ok fa-lg» href=»https://ok.ru» target=»_blank» rel=»noopener noreferrer»></a><a class=»b-socgroups__item b-socgroups__item_fb fa fa-facebook fa-lg» href=»https://www.facebook.com» target=»_blank» rel=»noopener noreferrer»></a><a class=»b-socgroups__item b-socgroups__item_yt fa fa-youtube fa-2x» href=»https://www.youtube.com» target=»_blank» rel=»noopener noreferrer»></a><a class=»b-socgroups__item b-socgroups__item_instagram fa fa-instagram fa-lg» href=»https://www.instagram.com/» target=»_blank» rel=»noopener noreferrer»></a><a class=»b-socgroups__item b-socgroups__item_whatsapp fa fa-whatsapp fa-lg» href=»https://api.whatsapp.com/send?phone=79259999999&text= Здравствуйте,%20я%20с%20Вашего%20сайта%20″ target=»_blank» rel=»noopener noreferrer»></a><a class=»b-socgroups__item b-socgroups__item_viber fa fa-whatsapp fa-lg» href=»//chat?number=+79259999999″ target=»_blank» rel=»noopener noreferrer»></a> </div>
</div>

После того как все заработало как надо, я прописал в .htaccess пути со старого инет-магазина на новый, в первую очередь категории, во вторую очередь товары, в моем случае почти все. Но там где урл товара полностью совпадает, можно особо не морочиться, движок сам переадресует куда надо.

А так вроде всё. На всё про всё у меня ушло где-то 3 упорных дня по несколько часов на основные изменения и еще несколько дней я вносил тонкости и мелкие правки уже в лайтовом режиме. В дальнейшем, что вспомню, еще буду добавлять в эту статью.

Да, еще с ценами была проблема. На многие товары на Опенкарте стояла скидочная цена, а на новый движок перенеслась только базовая цена без скидки, короче вручную все равно каждый товар нужно просматривать и корректировать.

Присоединяйтесь к нам Вконтакте, чтобы получить более оперативные ответы на свои вопросы, ПЕРВЫМИ читать новые статьи и обмениваться информацией с другими участниками группы!


Комментарии к записи “Перенос интернет-магазина с OpenCart на Woocommerce WordPress

  1. Антон 04.11.2020 в 08:19 написал:

    Я новичок в PHP и wordpress. У меня есть сайт, использующий OpenCart чей тема была разработана кем-то другим, каким-то образом вручную путем редактирования php файл. Я должен преобразовать этот сайт в приложение woocommerce. Могу ли я знаете, какой каталог нужно скопировать ? Возможна ли такая миграция ?

Добавить комментарий для Антон Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Навигация