'sanitize_text_field' )); register_setting('aicg_settings', 'aicg_model', array( 'sanitize_callback' => 'sanitize_text_field', 'default' => 'gpt-3.5-turbo' )); register_setting('aicg_settings', 'aicg_max_tokens', array( 'sanitize_callback' => 'absint', 'default' => 2000 )); register_setting('aicg_settings', 'aicg_temperature', array( 'sanitize_callback' => array($this, 'sanitize_temperature'), 'default' => 0.7 )); register_setting('aicg_settings', 'aicg_default_language', array( 'sanitize_callback' => 'sanitize_text_field', 'default' => 'en' )); // Add settings sections add_settings_section( 'aicg_api_settings', __('API Settings', 'ai-content-classifier'), array($this, 'api_settings_callback'), 'aicg_settings' ); add_settings_section( 'aicg_generation_settings', __('Content Generation Settings', 'ai-content-classifier'), array($this, 'generation_settings_callback'), 'aicg_settings' ); // Add settings fields add_settings_field( 'aicg_api_key', __('OpenAI API Key', 'ai-content-classifier'), array($this, 'api_key_field_callback'), 'aicg_settings', 'aicg_api_settings' ); add_settings_field( 'aicg_model', __('AI Model', 'ai-content-classifier'), array($this, 'model_field_callback'), 'aicg_settings', 'aicg_api_settings' ); add_settings_field( 'aicg_max_tokens', __('Max Tokens', 'ai-content-classifier'), array($this, 'max_tokens_field_callback'), 'aicg_settings', 'aicg_generation_settings' ); add_settings_field( 'aicg_temperature', __('Temperature (Creativity)', 'ai-content-classifier'), array($this, 'temperature_field_callback'), 'aicg_settings', 'aicg_generation_settings' ); add_settings_field( 'aicg_default_language', __('Default Language', 'ai-content-classifier'), array($this, 'language_field_callback'), 'aicg_settings', 'aicg_generation_settings' ); } /** * Sanitize temperature value */ public function sanitize_temperature($value) { $value = floatval($value); return max(0, min(2, $value)); // Clamp between 0 and 2 } /** * Section callbacks */ public function api_settings_callback() { echo '

' . esc_html__('Configure your OpenAI API settings.', 'ai-content-classifier') . '

'; } public function generation_settings_callback() { echo '

' . esc_html__('Customize how content is generated.', 'ai-content-classifier') . '

'; } /** * Field callbacks */ public function api_key_field_callback() { $value = get_option('aicg_api_key'); ?>

OpenAI

get_available_models(); ?>

'English', 'es' => 'Spanish', 'fr' => 'French', 'de' => 'German', 'it' => 'Italian', 'pt' => 'Portuguese', 'nl' => 'Dutch', 'ru' => 'Russian', 'ja' => 'Japanese', 'zh' => 'Chinese' ); ?>