',
esc_html__( 'Role / Persona', 'learnpress' ),
esc_html__( 'Defines who is creating the course so AI can tailor tone, expertise, and perspective.', 'learnpress' )
),
'audience' => sprintf(
'
%s
%s
',
esc_html__( 'Target Audience', 'learnpress' ),
AdminTemplate::html_tom_select(
[
'name' => 'target_audience',
'class_name' => '',
'options' => $options['audience'] ?? [],
'default_value' => 'Students',
'multiple' => true,
]
),
esc_html__( 'Identifies who will take the course so the content matches their background and skill level.', 'learnpress' )
),
'objective' => sprintf(
'
%s
',
esc_html__( 'Course objective', 'learnpress' ),
esc_html__( 'Enter description about course you want AI generate', 'learnpress' ),
esc_html__( 'Specifies what learners should achieve after completing the course, guiding AI to generate outcome-aligned content.', 'learnpress' ),
),
'step_close' => '
',
esc_html__( 'Language', 'learnpress' ),
AdminTemplate::html_tom_select(
[
'name' => 'language',
'options' => $options['language'] ?? [],
]
),
esc_html__( 'Sets the output language for all generated course content.', 'learnpress' )
),
'tone' => sprintf(
'
%s
%s
',
esc_html__( 'Tone', 'learnpress' ),
AdminTemplate::html_tom_select(
[
'name' => 'tone',
'options' => $options['tone'] ?? [],
'multiple' => true,
'default_value' => [ 'Analytical' ],
]
),
esc_html__( 'Controls the writing style (e.g., friendly, formal, story-telling) so the content matches your brand and audience.', 'learnpress' )
),
'reading_level' => sprintf(
'
%s
%s
',
esc_html__( 'Reading level', 'learnpress' ),
AdminTemplate::html_tom_select(
[
'name' => 'reading_level',
'options' => $options['reading_level'] ?? [],
]
),
esc_html__( 'Determines the complexity of language (e.g., foundational, intermediate, advanced) so the AI can generate content appropriate for the learners’ comprehension level.', 'learnpress' )
),
'seo_emphasis' => sprintf(
'
%s
',
esc_html__( 'SEO emphasis', 'learnpress' ),
esc_html__( 'Determines how strongly AI should optimize content for search engines.', 'learnpress' ),
),
'keywords' => sprintf(
'
%s
',
esc_html__( 'Target keywords (comma-separated)', 'learnpress' ),
esc_html__( 'Lists the keywords AI should integrate to improve SEO performance across titles and descriptions.', 'learnpress' )
),
'grid-end' => '
',
];
return Template::combine_components( $components );
}
public function html_step_3(): string {
$grid_components = [
'grid' => '
',
'sections-number' => sprintf(
'
%s
',
esc_html__( 'Sections number', 'learnpress' ),
esc_html__( 'Defines how many main sections/modules the course will include.', 'learnpress' )
),
/*'sections-title-length' => sprintf(
'
%s
',
esc_html__( 'Each section title length', 'learnpress' ),
esc_html__( 'Specifies the word limit for section titles to maintain consistency and readability.', 'learnpress' )
),
'sections-des-length' => sprintf(
'
%s
',
esc_html__( 'Each section description length', 'learnpress' ),
esc_html__( 'Sets the word limit for section introductions to control depth and clarity.', 'learnpress' )
),*/
'lesson-number' => sprintf(
'
',
esc_html__( 'Define the LearnPress Curriculum structure. The Prompt will be generated based on these controls.', 'learnpress' )
),
'form_grid' => Template::combine_components( $grid_components ),
'step-end' => '
',
];
return Template::combine_components( $components );
}
/**
* Generated prompt to submit OpenAI
*
* @return string
*/
public function html_step_4(): string {
$components = [
'step' => '