Если вы хотите автоматизировать наполнение сайта, импортировать данные из CSV или создать кастомный плагин — вам понадобится функция wp_insert_post(). Это главный инструмент разработчика для добавления записей, страниц и любых типов постов программным путем.

В этой статье мы разберем, как правильно использовать функцию, какие параметры передавать и как избежать типичных ошибок.

Что такое wp_insert_post() и зачем она нужна

wp_insert_post() — это встроенная функция ядра WordPress, которая позволяет добавлять или обновлять записи в базе данных без захода в админку.

Она пригодится для:

  • Импорта товаров в интернет-магазин (WooCommerce)

  • Парсинга и автоматической публикации новостей

  • Создания пользовательских отчетов или архивов

  • Миграции контента с другой CMS

Важно: Функция полностью соблюдает все хуки (action/filter), так что плагины и темы корректно реагируют на созданные записи.

Синтаксис и основные параметры

Функция принимает один аргумент — массив с параметрами записи.

 
wp_insert_post( array $postarr, bool $wp_error = false );

 

Параметр Тип Описание
post_title string Заголовок записи
post_content string Текст содержимого (HTML допускается)
post_status string publishdraftpendingprivate
post_type string postpage или название вашего CPT
post_author int ID автора (по умолчанию — текущий пользователь)
post_category array Массив ID категорий
tags_input array|string Массив меток или строка через запятую
meta_input array Произвольные поля (ключ => значение)

Важно: Поля post_title и post_content не должны быть пустыми, иначе запись не создастся.

 

Примеры использования wp_insert_post()

$new_post = array(
    'post_title'   => 'Мой первый программный пост',
    'post_content' => 'Это содержимое создано через wp_insert_post()',
    'post_status'  => 'draft',
    'post_author'  => 1,
);

$post_id = wp_insert_post( $new_post );

if ( ! is_wp_error( $post_id ) ) {
    echo 'Пост создан. ID: ' . $post_id;
} else {
    echo 'Ошибка: ' . $post_id->get_error_message();
}

Функция wp_insert_post() — это мощный и гибкий инструмент для программного управления контентом в WordPress. Освоив её, вы сможете:

  • Автоматизировать рутинные задачи по добавлению постов
  • Строить сложные импортеры и парсеры
  • Разрабатывать кастомные решения для клиентов
Разработка сайтов на Wordpress