Я пытаюсь создать простой виджет WordPress для генерации текста ИИ. Виджет должен позволить пользователю ввести приглашение, установить предел слова и нажать кнопку «Создать текст». Я хочу использовать API OpenAI для генерации текста на основе приглашения и предела слова. Тем не менее, я сталкиваюсь с проблемой с тем, как ведет себя виджет в зависимости от того, где он загружен. Генерация текста ИИ работает нормально, когда все параметры (форма) загружаются на первой странице WordPress (рабочий пример в коде-1 ниже). Но я хочу, чтобы виджет был доступен только в бэкэнде (как часть параметров виджетов). < /P>
Итак, моя цель - сделать генератор текста ИИ доступным только в бэкэнд для редактирования Виджеты и создайте API текст и вставьте его в текстовую область виджета. Основная проблема заключается в том, что AJAX, похоже, не работает должным образом в вариантах виджетов, и я изо всех сил пытаюсь найти решение. > < /p>
Создайте виджет в бэкэнд WordPress. Приглашение и
limit). < /li>
Вставьте сгенерированный текст в текстовую область виджета. Вопросы: < /strong> < /p>
Как я могу заставить Ajax работать должным образом внутри параметров виджета WordPress в бэкэнд? Поколение с виджетом WordPress в бэкэнд? Я проверил генерацию текста ИИ на бэкэнд -странице (не виджеты), и она там отлично работает. Проблема связана только с виджетами, и я не могу понять, почему это не работает. В консоли нет ошибок, ничего - это просто не работает в виджете. < /P>
Любая помощь будет очень оценена! strong> code-1 (работает OK, если загружен как передний виджет):
Prompt:
Word Limit:
Generate Text
Output:
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("openai_generate").addEventListener("click", function() {
let prompt = document.getElementById("openai_prompt").value.trim();
let wordLimit = parseInt(document.getElementById("openai_word_limit").value);
if (prompt.length === 0) {
alert("Please enter a prompt.");
return;
}
fetch('', {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: `action=openai_generate_text&prompt=${encodeURIComponent(prompt)}&word_limit=${wordLimit}`
})
.then(response => response.json())
.then(data => {
console.log(data); // Debugging: log the response data
// Check if the response is as expected
if (data.success) {
const output = document.getElementById("openai_output");
if (output) {
output.value = data.data.text || "No text generated."; // Access text inside `data.data.text`
} else {
console.error('Output textarea not found.');
}
} else {
const output = document.getElementById("openai_output");
if (output) {
output.value = "Error: " + (data.message || "Unknown error");
} else {
console.error('Output textarea not found.');
}
}
})
.catch(error => {
console.error("Error:", error);
const output = document.getElementById("openai_output");
if (output) {
output.value = "Error: Unable to reach API or process request.";
}
});
});
});
code -2 (загружено в параметрах бэкэнда виджетов - не работает):
Подробнее здесь: https://stackoverflow.com/questions/794 ... ckend-only
Как использовать Ajax в WordPress Vidget только в бэкэнд администратора? ⇐ Javascript
Форум по Javascript
1739636083
Anonymous
Я пытаюсь создать простой виджет WordPress для генерации текста ИИ. Виджет должен позволить пользователю ввести приглашение, установить предел слова и нажать кнопку «Создать текст». Я хочу использовать API OpenAI для генерации текста на основе приглашения и предела слова. Тем не менее, я сталкиваюсь с проблемой с тем, как ведет себя виджет в зависимости от того, где он загружен. Генерация текста ИИ работает нормально, когда все параметры (форма) загружаются на первой странице WordPress (рабочий пример в коде-1 ниже). Но я хочу, чтобы виджет был доступен только в бэкэнде (как часть параметров виджетов). < /P>
Итак, моя цель - сделать генератор текста ИИ доступным только в бэкэнд для редактирования Виджеты и создайте API текст и вставьте его в текстовую область виджета. Основная проблема заключается в том, что AJAX, похоже, не работает должным образом в вариантах виджетов, и я изо всех сил пытаюсь найти решение. > < /p>
Создайте виджет в бэкэнд WordPress. Приглашение и
limit). < /li>
Вставьте сгенерированный текст в текстовую область виджета. [b] Вопросы: < /strong> < /p>
Как я могу заставить Ajax работать должным образом внутри параметров виджета WordPress в бэкэнд? Поколение с виджетом WordPress в бэкэнд? Я проверил генерацию текста ИИ на бэкэнд -странице (не виджеты), и она там отлично работает. Проблема связана только с виджетами, и я не могу понять, почему это не работает. В консоли нет ошибок, ничего - это просто не работает в виджете. < /P>
Любая помощь будет очень оценена! strong> code-1 (работает OK, если загружен как передний виджет): [/b]
Prompt:
Word Limit:
Generate Text
Output:
document.addEventListener("DOMContentLoaded", function() {
document.getElementById("openai_generate").addEventListener("click", function() {
let prompt = document.getElementById("openai_prompt").value.trim();
let wordLimit = parseInt(document.getElementById("openai_word_limit").value);
if (prompt.length === 0) {
alert("Please enter a prompt.");
return;
}
fetch('', {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: `action=openai_generate_text&prompt=${encodeURIComponent(prompt)}&word_limit=${wordLimit}`
})
.then(response => response.json())
.then(data => {
console.log(data); // Debugging: log the response data
// Check if the response is as expected
if (data.success) {
const output = document.getElementById("openai_output");
if (output) {
output.value = data.data.text || "No text generated."; // Access text inside `data.data.text`
} else {
console.error('Output textarea not found.');
}
} else {
const output = document.getElementById("openai_output");
if (output) {
output.value = "Error: " + (data.message || "Unknown error");
} else {
console.error('Output textarea not found.');
}
}
})
.catch(error => {
console.error("Error:", error);
const output = document.getElementById("openai_output");
if (output) {
output.value = "Error: Unable to reach API or process request.";
}
});
});
});
[b] code -2 (загружено в параметрах бэкэнда виджетов - не работает): [/b]
Подробнее здесь: [url]https://stackoverflow.com/questions/79441829/how-to-use-ajax-in-wordpress-widget-on-admin-backend-only[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия