Создать запись кодом

Создать запись с дефолтными полями

$post_data = array(
    'post_title'    => $post_title,
    'post_content'  => $post_content,
    'post_name'     => $post_slug,
    // другие поля
);
$post_id = wp_insert_post( wp_slash($post_data) );

$post_id пригодится если нужно добавить картинку или мета поля.

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

Поля, на примере SEO данных плагина Yoast SEO.

if ($post_id) {
    $img = 'URL адрес картинки';
    $post_image_url = media_sideload_image( $img, $post_id, $name, 'src' );
    update_post_meta( $post_id, '_yoast_wpseo_title', 'Заголовок' );
    update_post_meta( $post_id, '_yoast_wpseo_focuskw', 'Ключевое слово' );
}