From what I understood from your question, you will need to use register_activation_hook()
, which runs when your plugin is activated.
register_activation_hook(__FILE__, 'your_function_name');
then in that function you can use `wp_insert_post’ to create your page.
Refer this link to pass new post parameters as per your need: https://developer.wordpress.org/reference/functions/wp_insert_post/
Edit:
In your plugin file make a function for shortcode.
function function_for_shortcode(){
//Your html here
}
add_shortcode('your_shortcode','function_for_shortcode');
Now when you run register_activation_hook
, provide to wp_insert_post
, post_content
as [your_shortcode]
.