Как импортировать товары с чужого сайта WordPress на свой wp?

Ссылка скопирована
1 ответ

Есть условно чужой сайт магазин на wp и нужно каким-то образом создать механизм который раз в неделю будет получать весь список товаров с сайта донора и обновлять товары на моем сайте. С wp работаю первый раз и хочу узнать есть ли готовый плагин или другой инструмент который сможет сделать это без собственного написания парсера и функции обновления таблицы товаров, но если все же готового решения нет, то хотелось бы узнать у более опытных людей как это сделать «по человечески». За ранее спасибо

Дополнительно:

Здесь wp не при чем.
Нужно написать скрапинг(парсер) и внести в БД wp
Я пишу такие на python

  • Ты законно хочешь получать данные с "донора"? Он даёт какое нибудь API или другие инструменты для импорта?
  • Олег, ну парсер написать для меня собственно не проблема но не очень понятно как заливать данные в бд, насколько я понял в wp уже есть готовые функции для апдейта товаров, но может есть статья где на примере другого сайта выполняют похожую задачу, с использованием этих функции собственный поиск не дал результатов(((
  • Refguser, Донор не предоставляет Апи или другие способы получения данных, информация о товарах содержит ссылку на источник
  • ichug,

    а но не очень понятно как заливать данные в бд, насколько я понял в wp уже есть готовые функции для апдейта товаров,

    Для раз в неделю лучше формировать файлы и использовать готовые плагины для импорта. Можно даже на крон всё поставить.

  • Олег, окей, можешь рассказать как ты вносишь изменения в бд? Ты используешь апи или подключаешься к бд напрямую?

    Буду рад примеру какому-нибудь или ссылке на пример использования твоего метода

  • Ответы:

    Как импортировать товары с чужого сайта Wordpress на свой wp?

    Использовать готовые плагины WP для парсинга, например:
    WP Content Crawler
    Scrapes

    С wp работаю первый раз

    хотелось бы узнать у более опытных людей как это сделать «по человечески»

    Написать подробное тз и заказать на фрилансе.

    • Про плагин спасибо, а про фриланс это в крайнем случае, хотелось бы самому решить задачу
    • ichug, плагины Вам дадут общую функциональность, дописывать все равно что то придется

    С wp работаю первый раз и хочу узнать есть ли готовый плагин или другой инструмент который сможет сделать это без собственного написания парсера и функции обновления таблицы товаров, но если все же готового решения нет, то хотелось бы узнать у более опытных людей как это сделать «по человечески».

    С неизвестного ИМ с неизвестной структурой.. а как же, есть... в розовых мечтах :)

    Если речь о партнёрских отношениях, то "донор" как правило предоставляет какое-то API и/или формирует экспорт (в csv, xml и тп).
    Если есть API, то пишется плагин (если вдруг у партнёра его ещё нет).
    Если есть файлы экспорта, то они просто импортируются. Родным импортом или плагинами в зависимости от структуры ИМ и данных.

    Всем спасибо за предложенные решения

    В итоге задачу решалась так
    Писался скрипт на питоне, который запускался через крон в интервале указанным заказчиком
    и при помощи апи товар изменялсясоздавалсяудалялся(было много копий одного и того же товара)

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Артём Dev Ответ

    Импортировать товары с чужого WordPress/WooCommerce сайта на свой можно, но правильный способ зависит от того, есть ли у Вас разрешение и технический доступ к данным. Если это Ваш второй сайт или поставщик дал доступ, лучше использовать API/фид. Если сайт чужой без разрешения, парсинг может нарушать правила и быстро сломается.

    Нормальные варианты по убыванию надёжности:

    • официальный XML/YML/CSV-фид поставщика;
    • WooCommerce REST API с consumer key/secret;
    • экспорт товаров из админки WooCommerce;
    • WP All Import с периодическим обновлением;
    • самописный парсер HTML как крайний вариант.

    Если донор на WooCommerce и есть API-доступ, можно получать товары через REST:

    https://donor.ru/wp-json/wc/v3/products

    https://donor.ru/wp-json/wc/v3/products

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

    Пример обновления цены по SKU:

    $product_id = wc_get_product_id_by_sku($sku);
     
    if ($product_id) {
        $product = wc_get_product($product_id);
        $product->set_regular_price($price);
        $product->set_stock_quantity($stock);
        $product->save();
    }

    $product_id = wc_get_product_id_by_sku($sku); if ($product_id) { $product = wc_get_product($product_id); $product->set_regular_price($price); $product->set_stock_quantity($stock); $product->save(); }

    Если товара нет, можно создать новый через wp_insert_post() или методы WooCommerce CRUD. Но для вариаций, изображений, атрибутов и категорий логика заметно сложнее: нужно сначала создать/найти атрибуты, термины, загрузить изображения в медиабиблиотеку и привязать их к товару.

    Для регулярного обновления раз в неделю используйте cron или Action Scheduler. Не запускайте большой импорт в обычном веб-запросе: он упрётся в timeout. Логируйте каждую операцию: создано, обновлено, пропущено, ошибка.

    Если хотите быстро и без разработки, берите WP All Import Pro + WooCommerce Add-On. Если нужна сложная логика, пишите свой импортёр через WooCommerce CRUD и API. HTML-парсер оставляйте только если нет фида/API и Вы понимаете риск поломки при изменении верстки.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

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

    Вам также может быть интересно