• Здравствуйте!
    Возникла необходимость загрузки большого количества категорий (несколько тысяч).
    если вводить по одной то все ОК, хоть через админку, хоть на прямую через phpMyAdmin. Категории в админке отображаются. Прописываю в wp_terms в поля name и slug и wp_term_taxonomy в поля term_id и taxonomy. Но если загружать категории из файла через SQL запрос LOAD DATA LOCAL INFILE — все загружается в обе таблицы, но в админке категории НЕ появляются. В чем может быть причина? Может есть какое-то ограничение на категории (на количество)?
    Помогите пожалуйста, а то я всю голову сломал почему они в админке не отображаются.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • В чем может быть причина?

    вероятно в

    SQL запрос

    Для работы с БД есть класс wpdb

    А вообще для безопасного и корректного добавления категории нужно использовать wp_create_category или wp_insert_category.

    Как вариант можно использовать плагины импорта из csv.

    • Ответ изменён 7 лет, 5 месяцев назад пользователем SeVlad.
    • Ответ изменён 7 лет, 5 месяцев назад пользователем SeVlad.

    Спасибо за быстрый ответ! Но плагины не вариант, они падают после 300+ записей, а если время работы скрипта увеличить, то хостер вряд ли обрадуется. Выход — писать в базу напрямую. Мне непонятно только почему WP не видит записи категорий в базе? если их в phpMyAdmin по одной вносить то видит, а если сразу несколько тысяч, то нет , ведь я в обе таблицы прописываю правильно.

    • Ответ изменён 7 лет, 5 месяцев назад пользователем inkor.

    плагины не вариант, они падают после 300+ записей,

    Да ладно. Не так давно 1000+ товаров в вукомерс импортировал. Это гораздо ресурсоёмкей задача.
    Плагины умеет разбивать на потоки по несколько записей (по 100 напр).

    Выход — писать в базу напрямую.

    Не выход вообще. От слова абсолютно. Просто не приучайте себя к такому, а научитесь использовать правильнее методики.
    Они выше. К ним ещё можно добавить XML-RPC, но это на крайний случай.

    Мне непонятно только почему WP не видит записи категорий в базе?

    Потому что не всё записали. Там участвует как минимум 3 таблицы.

    • Ответ изменён 7 лет, 5 месяцев назад пользователем SeVlad.

    Потому что не всё записали. Там участвует как минимум 3 таблицы.

    первая wp_terms
    вторая wp_term_taxonomy
    а третья какая?

    а третья какая?

    Всё-таки не хотите идти правильными и простыми путями? Ну дело Ваше.
    См https://codex.wordpress.org/Database%20Description На сегодня все, имеющие в названии «term».

    • Ответ изменён 7 лет, 5 месяцев назад пользователем SeVlad.
    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Но если загружать категории из файла через SQL запрос LOAD DATA LOCAL INFILE

    А в самом файле какие запросы?

    у меня 2 файла CSV
    в первом записи (категория 1,kategoriya-1)и т.д., пишутся в wp_terms в поля name и slug
    во втором — номер term_id(берется из wp_terms) и «category» вот так (33510,category) пишутся в wp_term_taxonomy в поля term_id и taxonomy, но админка их не видит.
    А таблица wp_term_relationships при создании категорий в админке не заполняется, и если категории заносить по одной прямо в базу, а не через админку, то в админке они появляются.

    запись делаю так

    LOAD DATA LOCAL INFILE 'd:/WebServers/home/papka/cat.csv' 
    INTO TABLE wp_terms
    FIELDS TERMINATED BY ',' 
    ('name','slug')
    
    LOAD DATA LOCAL INFILE 'd:/WebServers/home/papka/cat2.csv' 
    INTO TABLE wp_term_taxonomy
    FIELDS TERMINATED BY ',' 
    ('term_id','taxonomy')

    таблицы заполняются, а админка категорий не видит.

    Вчера перепробовал 15 плагинов импорта CSV, но они загружают только статьи вместе с категориями, а мне надо только категории, отдельно категории загружает один плагин, но платить 100 баксов за плагин, чтобы использовать 1 раз, не вижу смысла.

    • Ответ изменён 7 лет, 5 месяцев назад пользователем inkor.
    • Ответ изменён 7 лет, 5 месяцев назад пользователем inkor.
    • Ответ изменён 7 лет, 5 месяцев назад пользователем inkor.
Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Добавление большого количества категорий (ограничение?)» закрыта для новых ответов.