Начну с грусного, я свою проблему пока не решил, так как у меня стояла задача создать рубрики и связанные подрубрики с помощью WP-CLI в колличестве 5000 шт. Создание одной рубрики занимает около 10 — 30 секунд, тоесть при лучшем раскладе 6 в минуту, а все займет около 14 часов, что выливалось в ограничение выполнения скрипта на сервере.
Но тем не менее, если у вас не столь большая задача, то рассмотрим следующую задачу. Нам необходимо создать следующую структуру рубрик с помощью WP-CLI:
Машина
— Легковая
— Седан
— Пассат
— Грузовая
— Синяя
— Красная
Для этого нам надо будет использовать WP-CLI команду term create category.
1 |
wp term create category "Машина" --porcelain |
Но, так как нам надо будет использовать ID родительских категорий, то будем использовать bash (или коммандную строку), и в итоге создаем файл с названием — wp.bat внутри которого должен быть следующий код:
1 2 3 4 5 6 7 8 9 |
#!/bin/bash parentida=$(./wp.bat term create category "Машина" --porcelain) parentidb=$(./wp.bat term create category "Легковая" --parent="${parentida}" --porcelain) parentidc=$(./wp.bat term create category "Седан" --parent="${parentidb}" --porcelain) parentidc=$(./wp.bat term create category "Пассат" --parent="${parentidb}" --porcelain) parentidb=$(./wp.bat term create category "Грузовая" --parent="${parentida}" --porcelain) parentidc=$(./wp.bat term create category "Красная" --parent="${parentidb}" --porcelain) parentidc=$(./wp.bat term create category "Синяя" --parent="${parentidb}" --porcelain) |
Переменная parentida (parentidb, parentidc) содержит ID только что созданой категории, полученную из-за опции —porcelain, подробнее читайте в документации к WP-CLI.
Удачной и главное быстрой вам работы )