PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.2.0
MxChat – AI Chatbot & Content Generation for WordPress v3.2.0
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
← All changes | includes/admin-content-page.php +4 -73 3.2.163.2.0 View file →
@@ -512,41 +512,24 @@
512 512 <label class="mxch-field-label" for="mxch-content-model"><?php esc_html_e('Content Model', 'mxchat'); ?></label>
513 513 <div class="mxch-field-control">
514 514 <select id="mxch-content-model" data-field="content_model" class="mxch-cg-select">
515 515 <?php
516 - $content_model = $options['content_model'] ?? ($options['model'] ?? 'gpt-5.6-sol');
517 - // gpt-5.1-chat-latest removed 2026-08-02: OpenAI retires
518 - // it 2026-08-10 (plan e46b8f); saved values migrate via
519 - // mxchat_migrate_deprecated_models().
516 + $content_model = $options['content_model'] ?? ($options['model'] ?? 'gpt-5.1-chat-latest');
520 517 $models = array(
521 518 'OpenAI' => array(
522 - 'gpt-5.6-sol' => 'GPT-5.6 Sol',
523 - 'gpt-5.6-terra' => 'GPT-5.6 Terra',
524 - 'gpt-5.6-luna' => 'GPT-5.6 Luna',
525 - 'gpt-5.5' => 'GPT-5.5',
526 519 'gpt-5.4' => 'GPT-5.4',
527 520 'gpt-5.2' => 'GPT-5.2',
521 + 'gpt-5.1-chat-latest' => 'GPT-5.1',
528 522 'gpt-5' => 'GPT-5',
529 523 ),
530 524 'Anthropic' => array(
531 - 'claude-fable-5' => 'Claude Fable 5',
532 - 'claude-opus-5' => 'Claude Opus 5',
533 - 'claude-opus-4-8' => 'Claude Opus 4.8',
534 - 'claude-opus-4-7' => 'Claude Opus 4.7',
535 525 'claude-opus-4-6' => 'Claude Opus 4.6',
536 - 'claude-sonnet-5' => 'Claude Sonnet 5',
537 526 'claude-sonnet-4-6' => 'Claude Sonnet 4.6',
538 527 'claude-haiku-4-5-20251001' => 'Claude Haiku 4.5',
539 528 ),
540 529 'Google' => array(
541 - 'gemini-3.5-flash' => 'Gemini 3.5 Flash',
542 - 'gemini-3.1-pro-preview' => 'Gemini 3.1 Pro',
543 - 'gemini-3-flash-preview' => 'Gemini 3 Flash',
544 - 'gemini-3.1-flash-lite' => 'Gemini 3.1 Flash-Lite',
545 - 'gemini-3.1-flash-lite-preview' => 'Gemini 3.1 Flash-Lite (Preview)',
546 - 'gemini-2.5-pro' => 'Gemini 2.5 Pro',
547 - 'gemini-2.5-flash' => 'Gemini 2.5 Flash',
548 - 'gemini-2.5-flash-lite' => 'Gemini 2.5 Flash-Lite',
530 + 'gemini-3-pro-preview' => 'Gemini 3 Pro',
531 + 'gemini-2.5-pro' => 'Gemini 2.5 Pro',
549 532 ),
550 533 'xAI' => array(
551 534 'grok-4-0709' => 'Grok 4',
552 535 'grok-4-1-fast-non-reasoning' => 'Grok 4.1 Fast',
@@ -573,9 +556,8 @@
573 556 <div class="mxch-field-control">
574 557 <?php $image_model = $options['content_image_model'] ?? 'gpt-image-1.5'; ?>
575 558 <select id="mxch-image-model" data-field="content_image_model" class="mxch-cg-select">
576 559 <optgroup label="<?php esc_attr_e('OpenAI', 'mxchat'); ?>">
577 - <option value="gpt-image-2" <?php selected($image_model, 'gpt-image-2'); ?>><?php esc_html_e('GPT Image 2 (Latest)', 'mxchat'); ?></option>
578 560 <option value="gpt-image-1.5" <?php selected($image_model, 'gpt-image-1.5'); ?>><?php esc_html_e('GPT Image 1.5', 'mxchat'); ?></option>
579 561 </optgroup>
580 562 <optgroup label="<?php esc_attr_e('xAI', 'mxchat'); ?>">
581 563 <option value="grok-imagine-image-pro" <?php selected($image_model, 'grok-imagine-image-pro'); ?>><?php esc_html_e('Grok Imagine Pro', 'mxchat'); ?></option>
@@ -589,32 +571,8 @@
589 571 </div>
590 572 <p class="mxch-field-description"><?php esc_html_e('Select the AI model used for generating images within your content.', 'mxchat'); ?></p>
591 573 </div>
592 574
593 - <!-- Image Quality (GPT Image only) -->
594 - <div class="mxch-field">
595 - <label class="mxch-field-label" for="mxch-image-quality"><?php esc_html_e('Image Quality', 'mxchat'); ?></label>
596 - <div class="mxch-field-control">
597 - <?php $image_quality = $options['content_image_quality'] ?? 'auto'; ?>
598 - <?php $quality_supported = (strpos($image_model, 'gpt-image') === 0); ?>
599 - <select id="mxch-image-quality" data-field="content_image_quality" class="mxch-cg-select"<?php echo $quality_supported ? '' : ' disabled'; ?>>
600 - <option value="auto" <?php selected($image_quality, 'auto'); ?>><?php esc_html_e('Auto (default)', 'mxchat'); ?></option>
601 - <option value="low" <?php selected($image_quality, 'low'); ?>><?php esc_html_e('Low (fastest, cheapest)', 'mxchat'); ?></option>
602 - <option value="medium" <?php selected($image_quality, 'medium'); ?>><?php esc_html_e('Medium', 'mxchat'); ?></option>
603 - <option value="high" <?php selected($image_quality, 'high'); ?>><?php esc_html_e('High (best, slowest)', 'mxchat'); ?></option>
604 - </select>
605 - </div>
606 - <p class="mxch-field-description"><?php esc_html_e('Quality control for OpenAI GPT Image models only. Grok Imagine and Gemini image models ignore this setting (their APIs do not expose an equivalent parameter).', 'mxchat'); ?></p>
607 - </div>
608 - <script>(function(){
609 - var m = document.getElementById('mxch-image-model');
610 - var q = document.getElementById('mxch-image-quality');
611 - if (!m || !q || q._wired) { return; } q._wired = true;
612 - function sync(){ q.disabled = (m.value || '').indexOf('gpt-image') !== 0; }
613 - m.addEventListener('change', sync);
614 - sync();
615 - })();</script>
616 -
617 575 <!-- Enable Image Generation -->
618 576 <div class="mxch-field">
619 577 <label class="mxch-toggle">
620 578 <?php $enable_images = $options['content_enable_images'] ?? 'on'; ?>
@@ -623,35 +581,8 @@
623 581 <span class="mxch-toggle-label"><?php esc_html_e('Enable Image Generation', 'mxchat'); ?></span>
624 582 </label>
625 583 <p class="mxch-field-description"><?php esc_html_e('When enabled, AI will generate and place images throughout your content. When disabled, pages are generated with text-only layouts.', 'mxchat'); ?></p>
626 584 </div>
627 -
628 - <!-- Images per Article -->
629 - <div class="mxch-field">
630 - <label class="mxch-field-label" for="mxch-image-count"><?php esc_html_e('Images per Article', 'mxchat'); ?></label>
631 - <div class="mxch-field-control">
632 - <?php $image_count = max(1, min(5, (int) ($options['content_image_count'] ?? 3))); ?>
633 - <?php $images_on = ($options['content_enable_images'] ?? 'on') === 'on'; ?>
634 - <div class="mxch-cg-slider-row">
635 - <input type="range" min="1" max="5" step="1" value="<?php echo esc_attr($image_count); ?>"
636 - data-field="content_image_count" id="mxch-image-count" class="mxch-cg-slider"<?php echo $images_on ? '' : ' disabled'; ?>>
637 - <span id="mxch-image-count-val" class="mxch-cg-slider-value"><?php echo esc_html($image_count); ?></span>
638 - </div>
639 - </div>
640 - <p class="mxch-field-description"><?php esc_html_e('How many images to generate and place in each article (1–5). Default 3. The AI may generate fewer if the article has few sections suited to imagery.', 'mxchat'); ?></p>
641 - </div>
642 - <script>(function(){
643 - var s = document.getElementById('mxch-image-count');
644 - var v = document.getElementById('mxch-image-count-val');
645 - if (!s || !v || s._wired) { return; } s._wired = true;
646 - s.addEventListener('input', function(){ v.textContent = s.value; });
647 - var e = document.querySelector('[data-field="content_enable_images"]');
648 - if (e) {
649 - var syncCount = function(){ s.disabled = !e.checked; };
650 - e.addEventListener('change', syncCount);
651 - syncCount();
652 - }
653 - })();</script>
654 585
655 586 <!-- Internal Linking (Pro) -->
656 587 <div class="mxch-field mxch-cg-pro-field<?php echo $pro_internal_linking ? '' : ' mxch-cg-pro-locked'; ?>">
657 588 <label class="mxch-toggle">