В чем может быть причина?
вероятно в
SQL запрос
Для работы с БД есть класс wpdb
А вообще для безопасного и корректного добавления категории нужно использовать wp_create_category или wp_insert_category.
Как вариант можно использовать плагины импорта из csv.
-
Ответ изменён 7 лет, 10 месяцев назад пользователем SeVlad.
-
Ответ изменён 7 лет, 10 месяцев назад пользователем SeVlad.
Спасибо за быстрый ответ! Но плагины не вариант, они падают после 300+ записей, а если время работы скрипта увеличить, то хостер вряд ли обрадуется. Выход — писать в базу напрямую. Мне непонятно только почему WP не видит записи категорий в базе? если их в phpMyAdmin по одной вносить то видит, а если сразу несколько тысяч, то нет , ведь я в обе таблицы прописываю правильно.
-
Ответ изменён 7 лет, 10 месяцев назад пользователем inkor.
плагины не вариант, они падают после 300+ записей,
Да ладно. Не так давно 1000+ товаров в вукомерс импортировал. Это гораздо ресурсоёмкей задача.
Плагины умеет разбивать на потоки по несколько записей (по 100 напр).
Выход — писать в базу напрямую.
Не выход вообще. От слова абсолютно. Просто не приучайте себя к такому, а научитесь использовать правильнее методики.
Они выше. К ним ещё можно добавить XML-RPC, но это на крайний случай.
Мне непонятно только почему WP не видит записи категорий в базе?
Потому что не всё записали. Там участвует как минимум 3 таблицы.
-
Ответ изменён 7 лет, 10 месяцев назад пользователем SeVlad.
Потому что не всё записали. Там участвует как минимум 3 таблицы.
первая wp_terms
вторая wp_term_taxonomy
а третья какая?
а третья какая?
Всё-таки не хотите идти правильными и простыми путями? Ну дело Ваше.
См https://codex.wordpress.org/Database%20Description На сегодня все, имеющие в названии «term».
-
Ответ изменён 7 лет, 10 месяцев назад пользователем SeVlad.
Но если загружать категории из файла через 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 лет, 10 месяцев назад пользователем inkor.
-
Ответ изменён 7 лет, 10 месяцев назад пользователем inkor.
-
Ответ изменён 7 лет, 10 месяцев назад пользователем inkor.