2 ответа

Ответить
3

Если не хочешь заморачиваться — ставь WP All Import, он json хавает на ура и может постить прямо в кастомные типы. Я так сам делал, реально пару кликов. Можно и вручную через json_decode и wp_insert_post, но тогда придется с ACF полями ебаться отдельно.

0

Есть ещё вариант через REST API, если JSON уже лежит на другом сервисе или вы хотите автоматизировать импорт без плагина. Сначала убедитесь, что ваш кастомный тип постов зарегистрирован с `show_in_rest => true`. Затем можно отправлять данные напрямую: авторизуйтесь через Application Password и шлите POST-запрос на `/wp-json/wp/v2/{ваш_тип_поста}` с телом JSON. Внутри `wp_insert_post` не нужен, но придётся маппить поля: заголовок, контент, таксономии, а для произвольных полей — использовать `meta` в запросе.

Если JSON вложенный или содержит галереи/изображения, лучше написать небольшой скрипт на PHP или WP-CLI: читаете файл, `json_decode`, проходите по массиву, для каждого элемента создаёте пост через `wp_insert_post`, а для картинок — `media_handle_sideload`. Так вы контролируете каждое поле и не зависите от ограничений плагина.

Главный подводный камень — кодировка и слаги. Убедитесь, что JSON в UTF-8 и что вы задаёте уникальные `post_name`, иначе дубликаты не избежать. Перед массовым импортом всегда делайте тестовый прогон на 2–3 записях и проверяйте, как отображаются ACF-поля и таксономии.

Ваш ответ

Минимум 20 символов (0/20)

, чтобы ответ был привязан к аккаунту

Похожие вопросы