Прочитав миллион сообщений об отключении всех, переустановив все, размахивая куриными костями над моей клавиатурой и бросая соль через плечо, я решил серьезно.
tinyMCE не определен, значит именно это. Успение: оно никогда не загружалось. Проверьте источник страницы http://yourdomain.com/wp-includes/js/tinymce/tiny_mce.js?ver=359-20131026 '> или какой-либо другой тег скрипта для tiny_mce.js. Готов поспорить, у вас его нет. Если вы это сделаете, это не решение для вас. Если вы этого не сделаете, читайте дальше.
Я нашел код, который должен размещать тэг js на вашей странице в ... \ wp-includes \ class-wp-editor.php.
Существует if if block "if ($ compress) {...", который будет загружать ... \ wp-includes \ js \ tinymce \ wp-tinymce.php в тег js (не работает) когда $ compress = 1 или ... \ wp-includes \ js \ tinymce \ tiny_mce.js, когда $ compress = 0. Поэтому я устанавливаю $ compress = 0 перед блоком if, чтобы заставить else. Это исправило мою проблему.
Это легкое исправление, и если оно не решит вашу проблему, оно легко отменяется, не рискуя сломать что-либо еще в экосистеме WP.
Поскольку php по умолчанию не имеет состояния, вам нужно будет сохранить начальный набор вопросов в постоянном хранилище и извлечь их из него для всех последующих запросов.
Вы можете сделать это довольно кратко с помощью сессий в вашем контроллере:
public function getRandomQuestions($questions_count, $question_number)
{
//attempt to retrieve from session
$questions = session('questions', function(){
//if not found in session, generate from DB,
$questions = Question::Instance()->getRandomQuestions($questions_count);
//and store in session for next request.
session(['questions' => $questions]);
return $questions;
});
$nextQuestionLink = $question->nextQuestionLink($questions_count,
$question_number);
return view('polls.random_questions_poll')->with([
'question' => $questions[$questions_count-1],
'next' => $nextQuestionLink,
]);
}