Как добавить в запись WordPress featured_image при помощи wp_insert_post?

Добавление featuredimage при создании записи в WordPress можно осуществить с помощью функции wpinsert_post(). Для этого необходимо выполнить следующие шаги:

  1. Сначала получим URL изображения, которое вы хотите установить в качестве featuredimage. Предположим, что URL изображения хранится в переменной $featuredimage_url.
  1. Создадим массив данных для новой записи, включая заголовок, контент и остальные необходимые данные. Предположим, что данные записи хранятся в массиве $post_data. Обратите внимание, что в массиве данных не должно быть ключа "ID", так как это значение будет назначено автоматически.
  1. Вставим новую запись с помощью функции wpinsertpost(). Получим ID вставленной записи.
// Шаг №1: Получение URL изображения featured_image
$featured_image_url = 'https://example.com/path/to/featured-image.jpg';

// Шаг №2: Создание массива данных для новой записи
$post_data = array(
    'post_title' => 'Заголовок новой записи',
    'post_content' => 'Контент новой записи',
    'post_status' => 'publish',
    'post_type' => 'post',
);

// Шаг №3: Вставка новой записи и получение ID вставленной записи
$new_post_id = wp_insert_post($post_data);

// Проверка успешного создания записи
if ($new_post_id) {
    // Шаг №4: Проверка наличия featured_image и установка его в запись
    if ($featured_image_url) {
        // Получение ID прикрепленного изображения по URL
        $featured_image_id = attachment_url_to_postid($featured_image_url);
        
        // Если изображение существует
        if ($featured_image_id) {
            // Установка изображения в качестве featured_image для записи
            set_post_thumbnail($new_post_id, $featured_image_id);
        }
    }
}

В этом коде мы используем функцию attachmenturltopostid() для получения ID прикрепленного изображения по URL. Затем используем функцию setpostthumbnail() для установки изображения в качестве featuredimage для новой записи.

Если изображение не существует, ничего не произойдет, и featured_image не будет установлен.

Этот код можно добавить в файл functions.php вашей темы, в шаблон страницы или в файл плагина. Убедитесь, что перед использованием вам нужно изменить значения переменных $featuredimageurl, $postdata и $newpost_id в соответствии с вашими потребностями.

Таким образом, вы сможете добавить featuredimage в запись WordPress при помощи функции wpinsert_post().