Función php que debeis insertar dentro de vuestro «functions.php» para crear automáticamente una nueva página en WordPress, justo después de activar nuestro theme. Y podéis customizar el siguiente código para crear una o más páginas o entradas, asignar a dicha página una plantilla específica, etc…

Para insertar la nueva página usamos la función wp_insert_post().

En este ejemplo, vamos a crear una página de contacto automáticamente después de activar nuestro theme:

if (isset($_GET['activated']) && is_admin()){

    $titulo = 'Contacto';
    $descripcion = 'Bienvenido a la página de contacto...';
    $plantilla = ''; // Ej. plantilla-contacto.php. Dejar en blanco si quieres dejar la plantilla de por defecto.

    //don't change the code bellow, unless you know what you're doing

    $page_check = get_page_by_title($titulo);
    $new_page = array(
        'post_type' => 'page',
        'post_title' => $titulo,
        'post_content' => $descripcion,
        'post_status' => 'publish',
        'post_author' => 1,
    );

    if(!isset($page_check->ID)){
        $new_page_id = wp_insert_post($new_page);
        if(!empty($plantilla)){
            update_post_meta($new_page_id, '_wp_page_template', $plantilla);
        }
    }
    
}

Agradezco tu comentario 🤘