Image generation settings saved successfully!

'; } elseif (isset($_POST['igny8_image_settings_nonce'])) { echo '

Security check failed. Please try again.

'; } // Handle editor type settings form submission if (isset($_POST['igny8_editor_type_nonce']) && wp_verify_nonce($_POST['igny8_editor_type_nonce'], 'igny8_editor_type_settings')) { $editor_type = isset($_POST['igny8_editor_type']) ? sanitize_text_field($_POST['igny8_editor_type']) : 'block'; update_option('igny8_editor_type', $editor_type); echo '

Editor type settings saved successfully! Selected: ' . esc_html($editor_type) . '

'; } elseif (isset($_POST['igny8_editor_type_nonce'])) { echo '

Security check failed. Please try again.

'; } // Handle image metabox settings form submission if (isset($_POST['igny8_image_metabox_nonce']) && wp_verify_nonce($_POST['igny8_image_metabox_nonce'], 'igny8_image_metabox_settings')) { $enabled_types = isset($_POST['igny8_enable_image_metabox']) ? $_POST['igny8_enable_image_metabox'] : []; $enabled_types = array_map('sanitize_text_field', $enabled_types); update_option('igny8_enable_image_metabox', $enabled_types); echo '

Image metabox settings saved successfully!

'; } // Handle module settings form submission (only if not editor type or image metabox form) if (isset($_POST['submit']) && !isset($_POST['igny8_editor_type_nonce']) && !isset($_POST['igny8_image_metabox_nonce'])) { $module_manager->save_module_settings(); } // Debug: Log form submission data (remove in production) if (isset($_POST['submit']) && current_user_can('manage_options')) { error_log('Igny8 Settings Debug - POST data: ' . print_r($_POST, true)); } $settings = get_option('igny8_module_settings', []); ?>

Module Manager

Enable or disable plugin modules and features

get_modules() as $module_key => $module): ?>

Admin & Analytics

Administrative tools and analytics modules

get_modules() as $module_key => $module): ?>

'margin-top: 20px;']); ?>

Content Editor Type

Choose between Classic editor or Block (Gutenberg) editor for AI-generated content

Current Setting:

📝 How this affects your content:

  • Block Editor: AI content will be converted to WordPress blocks for better formatting and structure
  • Classic Editor: AI content will be saved as HTML and displayed in the classic editor
  • You can change this setting anytime and it will apply to all new AI-generated content
'margin-top: 20px;']); ?>

Image Generation

Configure AI image generation settings and preferences

'DALL·E 3', 'dall-e-2' => 'DALL·E 2', 'gpt-image-1' => 'GPT Image 1 (Full)', 'gpt-image-1-mini' => 'GPT Image 1 Mini' ]; $model_name = $model_names[$current_model] ?? $current_model; echo '
'; echo 'Provider:'; echo 'OpenAI'; echo '
'; echo '
'; echo 'Model:'; echo '' . esc_html($model_name) . ''; echo '
'; } else { echo '
'; echo 'Provider:'; echo 'Runware'; echo '
'; echo '
'; echo 'Model:'; echo 'HiDream-I1 Full'; echo '
'; } ?>
Note: To change the image provider or model, go to Integration Settings
1024×1024 pixels
960×1280 pixels
Choose which image sizes to generate and how many of each type.
'margin-top: 20px;']); ?>

In-Article Image Meta Box

Enable image metabox for specific post types

true], 'objects'); $enabled_types = (array) get_option('igny8_enable_image_metabox', []); foreach ($all_post_types as $pt => $obj) { $checked = in_array($pt, $enabled_types) ? 'checked' : ''; echo ''; } ?>

Select which post types should display the In-Article Image metabox in the WordPress editor.

Use these shortcodes in your posts/pages to display the selected images:

[igny8-images] Display all images
[igny8-image id="desktop-1"] Display specific image by ID
[igny8-desktop-images] Display only desktop images
[igny8-mobile-images] Display only mobile images
[igny8-responsive-gallery] Responsive gallery (desktop on large screens, mobile on small screens)
[igny8-image-count] Display count of images

💡 Tip: After selecting images in the metabox, use these shortcodes in your post content to display them on the frontend.

'margin-top: 20px;']); ?>

Default number of records to display per page across all tables in the plugin.