Art Fake Content Creator
Плагин генерации демо контента через терминал WP CLI. Подходит для разработки, демонстраций, тестирования тем и плагинов.
by Artem Abramovich, Campusboy · github.com/artikus11/art-fake-content-creator
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/artikus11/art-fake-content-creator/releases/download/1.0.2/art-fake-content-creator.zipReadme
Art Fake Content Creator
Плагин генерации демо контента через терминал WP CLI. Подходит для разработки, демонстраций, тестирования тем и плагинов.
Требуется PHP 8.0+, WordPress 6.0+, WP CLI.
Возможности
- Создание и удаление фейковых записей, страниц, товаров WooCommerce, изображений и таксономий.
- Поддержка профилей: настрой свои наборы данных (названия, описания, изображения).
- Гибкие команды: создавай только нужное, с нужными параметрами.
- Прогресс-бар, статистика и время выполнения.
- Расширяемая архитектура — легко добавлять новые сущности.
Установка
- Штатным способом через админку.
- Скачиваем релиз
- В админке Плагины → Добавить плагин → Кнопка "Загрузить плагин"
- Клон с GitHub
git clone https://github.com/your-repo/art-fake-content-creator.git wp-content/plugins/art-fake-content-creator - Установка с релиза
wp plugin install https://github.com/artikus11/art-fake-content-creator/releases/latest/download/art-fake-content-creator.zip --activate - Обновление с релиза через WP CLI
wp plugin install https://github.com/artikus11/art-fake-content-creator/releases/latest/download/art-fake-content-creator.zip --force
Профили
Профили хранятся в папке wp-content/plugins/art-fake-content-creator/config/. В подпапках находяться тематические профили (промышленность, мода, одежда, косметика и тд)
config/
├── default/
│ ├── titles.json
│ ├── descriptions.json
│ ├── short-descriptions.json
│ ├── images.json
│ └── taxonomies.json
├── cosmetics/
│ └── ... (переопределённые данные)
└── industrial/
└── ...
Создать свой профиль
Скопируй папку /config/default/ переименуй. Или
cp -r config/default config/my-theme-demo
Отредактируй файлы (titles.json, images.json и др.).
Потом использовать
wp fcc post create --profile=my-theme-demo --count=5
Поддерживаемые сущности
product- Требует Woocommerce. Поддержка simple, variable, атрибутовimage- Загрузка с внешних URLtaxonomy- Поддержка любых такс указанных в профилеattributes- Требует Woocommerce
Команды
Флаги
| Флаг | Описание |
|---|---|
--profile=<name> |
Использовать профиль из /config/<name>/ |
--count=<n> |
Количество объектов (где применимо, используется при создании сущностей: товары, записи, пользователи и тд) |
--type=simple,variable |
Для товаров: тип создания |
--seed |
При создании товаров — создать атрибуты, категории и т.д. |
--tax=<names> |
Указать список таксономий: product_cat,post_tag |
--attr-to-use=<сounts> |
Количество используемых атрибуто при создании товаров. Для вариативных товаров будет использоваться не более 5. |
Общий формат:
wp fcc <entity> <action> [options]
Создать изображения
wp fcc image create --profile=cosmetics
Создать атрибуты
wp fcc attribute create --profile=industrial
Создать таксономии
# Все таксы из профиля
wp fcc taxonomy create
# Только определённые
wp fcc taxonomy create --tax=product_cat,product_brand
Создать товары WooCommerce
# Простые товары
wp fcc product create --count=5 --type=simple
# Вариативные товары
wp fcc product create --count=3 --type=variable --seed
# Вариативные и простые товары
wp fcc product create --count=3 --type=variable,simple --seed
# Вариативные и простые товары, с разным количеством атрибутов
wp fcc product create --count=10 --type=simple --profile=industrial --seed --attr-to-use=0,-1
При указании флага
--seedпри создании товаров будут созданы сопутсвующие сущбности: изображения, атрибуты, таксономии если их еще нет на сайте
Удаление
# Удалить товары
wp fcc product delete --force
# Удалить таксы
wp fcc taxonomy delete --tax=product_cat,product_brand
# Удалить картинки
wp fcc image delete
# Удалить атрибуты
wp fcc attribute delete
Пример: запуск
# 1. Создать атрибуты и термины
wp fcc attribute create --profile=cosmetics
# 2. Создать категории и теги
wp fcc taxonomy create --tax=product_cat,product_tag --profile=cosmetics
# 3. Добавить изображения
wp fcc image create --profile=cosmetics
# 4. Создать 10 вариативных и 10 простых товаров
wp fcc product create --count=10 --type=variable,simple --seed --profile=cosmetics
Все фейковые объекты помечаются метой
_created_for_fake_content.
Разработка
Плагин построен на модульной архитектуре:
- Команды:
src/CLI/Commands/ - Менеджеры:
src/Managers/ - Конфиги:
config/ - Реестр сущностей:
Services/EntityTypeRegistry.php
Через реестр регистрция команды для новой сущности происходит автоматически
Добавить новую сущность
Реестр сущностей: Services/EntityTypeRegistry.php метод register добавляем новую сущьность в формате
'mytype' => [
'label' => 'Моя сущность', // название сущности
'config' => 'mytypes', // навзание профиля, из которого будут браться данные, если требуется
'available' => true, // проверка на зависимсоть, если требуется, например нужен какой-нибудь активный плагин
'service' => MyTypeManager::class, // обработчика команд
'command' => MyTypeCommand::class, // класс команд
],
Создаем обработчик команд в папке src/CLI/Commands
namespace Art\FakeContent\CLI\Commands;
class MyTypeCommand extends BaseCommand {
protected function get_entity_type_key(): string {
return 'mytype';
}
protected function get_label_output_create(): string {
return 'создание новой сущности';
}
protected function get_label_output_delete(): string {
return 'удаление новой сущности';
}
}
Создаем менеджер в папке src/Services/Managers
<?php
namespace Art\FakeContent\Services\Managers;
use Art\FakeContent\Utils\QueryUtils;
use Art\FakeContent\Utils\StringUtils;
class MyTypeManager extends BaseManager {
public function create() {
// Обработка создания сущности.
// С родителя приходит $this->config - данные профиля
}
/**
* Подсчет количества сущностей для создания.
* Требуется для отображения прогреcc-бара и статистики.
* @return void
*/
public function prepare_create_operations(): void {
// обработка количества
$this->add_create_step( 'mytype', count( $this->config ) );
}
public function delete() {
// Обработка удаления сущности. Удаляются только то, что создано
// Получаем через мету _created_for_fake_content созданные сущьности
}
/**
* Подсчет количества сущностей для удаления.
* Требуется для отображения прогреcc-бара и статистики.
* @return void
*/
public function prepare_delete_operations(): void {
// обработка количества
$this->add_delete_step( 'mytype', count( mytype_exists ) );
}
}
В рамках одной команды методы подсчета количества запускаются раньше, чем обрабка самой команды. См.
src/CLI/Commands/BaseCommand.php
Лицензия
GPLv2 или выше. Свободно используй, модифицируй, распространяй.
Благодарности
Этот плагин вдохновлён и построен на идеях замечательных инструментов и людей:
- WP CLI — за мощную командную строку, которая делает WordPress ещё свободнее.
- WooCommerce — за открытость и гибкость, позволившую легко интегрироваться.
- Unsplash, Pexels, Pixabay — за бесплатные изображения, которые можно использовать в профилях.
А также тебе, кто использует этот плагин. Пусть этот плагин сэкономит тебе часы ручной работы. 💙
Специальная благодарность
- Дмитрий @campusboy - за идеи, советы и поддержку
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| 1.0.2 | Nov 16, 2025 | art-fake-content-creator.zip | 3 |
| 1.0.1 | Oct 15, 2025 | art-fake-content-creator.zip | 8 |
| 1.0.0 | Oct 11, 2025 | art-fake-content-creator.zip | 1 |
Active-site estimate ≈10 comes from the median of recent superseded releases. Method.