Вопрос или проблема
На моем сайте WordPress, когда файл htaccess добавляется в папку public_html, у меня возникает множество ошибок в файлах js. Например:
Uncaught TypeError: gform.initializeOnLoaded is not a function
Uncaught TypeError: gform.addFilter is not a function
Uncaught TypeError: gform.addAction is not a function
Uncaught ReferenceError: fieldSettings is not defined
У меня такая ситуация в административной части. В приведенных примерах ошибок я нахожусь на странице форм Gravity Forms и получаю эти ошибки, и не могу редактировать и добавлять поля формы, но как только я удаляю файл .htaccess, все начинает работать отлично. Мог бы кто-то подсказать причину?
Вот содержимое моего файла .htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Спасибо заранее.
Вот все сообщения об ошибках:
Uncaught TypeError: gform.initializeOnLoaded is not a function
at gravityforms.min.js?ver=2.8.0:1:36892
form_admin.min.js?ver=2.8.0:1 Uncaught TypeError: gform.initializeOnLoaded is not a function
at form_admin.min.js?ver=2.8.0:1:32327
admin.php?page=gf_edit_forms&id=5:367 Uncaught TypeError: gform.addFilter is not a function
at admin.php?page=gf_edit_forms&id=5:367:19
admin.php?page=gf_edit_forms&id=5:385 Uncaught TypeError: gform.addFilter is not a function
at admin.php?page=gf_edit_forms&id=5:385:41
admin.php?page=gf_edit_forms&id=5:3439 Uncaught TypeError: gform.addAction is not a function
at admin.php?page=gf_edit_forms&id=5:3439:86
layout_editor.min.js?ver=2.8.0:1 Uncaught TypeError: gform.addAction is not a function
at initLayoutEditor (layout_editor.min.js?ver=2.8.0:1:11903)
at layout_editor.min.js?ver=2.8.0:1:13088
form_editor.min.js?ver=2.8.0:1 Uncaught TypeError: gform.addFilter is not a function
at form_editor.min.js?ver=2.8.0:1:101542
admin.php?page=gf_edit_forms&id=5:5103 Uncaught ReferenceError: fieldSettings is not defined
at admin.php?page=gf_edit_forms&id=5:5103:13
admin.php?page=gf_edit_forms&id=5:5109 Uncaught ReferenceError: fieldSettings is not defined
at admin.php?page=gf_edit_forms&id=5:5109:13
jquery.min.js?ver=3.7.1:2 jQuery.Deferred exception: gform.applyFilters is not a function TypeError: gform.applyFilters is not a function
at UpdateFormObject (https://example.com/wp-content/plugins/gravityforms/js/form_editor.min.js?ver=2.8.0:1:48827)
at SetupUnsavedChangesWarning (https://example.com/wp-content/plugins/gravityforms/js/form_editor.min.js?ver=2.8.0:1:85099)
at InitializeEditor (https://example.com/wp-content/plugins/gravityforms/js/form_editor.min.js?ver=2.8.0:1:1678)
at HTMLDocument.<анонимный> (https://example.com/wp-content/plugins/gravityforms/js/form_editor.min.js?ver=2.8.0:1:94517)
at e (https://example.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2:27028)
at t (https://example.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2:27330) undefined
ce.Deferred.exceptionHook @ jquery.min.js?ver=3.7.1:2
jquery.min.js?ver=3.7.1:2 jQuery.Deferred exception: fieldSettings is not defined ReferenceError: fieldSettings is not defined
at HTMLDocument.<анонимный> (https://example.com/wp-admin/admin.php?page=gf_edit_forms&id=5:5078:17)
at e (https://example.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2:27028)
at t (https://example.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2:27330) undefined
ce.Deferred.exceptionHook @ jquery.min.js?ver=3.7.1:2
jquery.min.js?ver=3.7.1:2 Uncaught TypeError: gform.applyFilters is not a function
at UpdateFormObject (form_editor.min.js?ver=2.8.0:1:48827)
at SetupUnsavedChangesWarning (form_editor.min.js?ver=2.8.0:1:85099)
at InitializeEditor (form_editor.min.js?ver=2.8.0:1:1678)
at HTMLDocument.<анонимный> (form_editor.min.js?ver=2.8.0:1:94517)
at e (jquery.min.js?ver=3.7.1:2:27028)
at t (jquery.min.js?ver=3.7.1:2:27330)
jquery.min.js?ver=3.7.1:2 Uncaught ReferenceError: fieldSettings is not defined
at HTMLDocument.<анонимный> (admin.php?page=gf_edit_forms&id=5:5078:17)
at e (jquery.min.js?ver=3.7.1:2:27028)
at t (jquery.min.js?ver=3.7.1:2:27330)
scripts-admin.merge-tags.f33f9eafc12b41c409ab.min.js:1 Uncaught (in promise) TypeError: v(...).applyFilters is not a function
at z (scripts-admin.merge-tags.f33f9eafc12b41c409ab.min.js:1:4152)
at D (scripts-admin.merge-tags.f33f9eafc12b41c409ab.min.js:1:4358)
at R (scripts-admin.merge-tags.f33f9eafc12b41c409ab.min.js:1:6056)
at scripts-admin.merge-tags.f33f9eafc12b41c409ab.min.js:1:7606
at Array.forEach (<анонимный>)
at Z (scripts-admin.merge-tags.f33f9eafc12b41c409ab.min.js:1:7562)
at J (scripts-admin.merge-tags.f33f9eafc12b41c409ab.min.js:1:8151)
at Module.K (scripts-admin.merge-tags.f33f9eafc12b41c409ab.min.js:1:8169)
at scripts-admin.min.js?ver=3f4921e72df656e7033d9c15a5dcd295:1:23585
Вот содержимое моего файла error_log:
[11-Dec-2023 13:44:46 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:44:46 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:44:46 UTC] PHP Fatal error: Failed opening required '/home/example1/public_html/xmlrpc.php' (include_path=".:/opt/alt/php81/usr/share/pear:/opt/alt/php81/usr/share/php:/usr/share/pear:/usr/share/php") in Unknown on line 0
[11-Dec-2023 13:48:53 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:48:53 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:48:53 UTC] PHP Fatal error: Failed opening required '/home/example1/public_html/xmlrpc.php' (include_path=".:/opt/alt/php81/usr/share/pear:/opt/alt/php81/usr/share/php:/usr/share/pear:/usr/share/php") in Unknown on line 0
[11-Dec-2023 13:48:53 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:48:53 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:48:53 UTC] PHP Fatal error: Failed opening required '/home/example1/public_html/xmlrpc.php' (include_path=".:/opt/alt/php81/usr/share/pear:/opt/alt/php81/usr/share/php:/usr/share/pear:/usr/share/php") in Unknown on line 0
[11-Dec-2023 13:48:54 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:48:54 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:48:54 UTC] PHP Fatal error: Failed opening required '/home/example1/public_html/xmlrpc.php' (include_path=".:/opt/alt/php81/usr/share/pear:/opt/alt/php81/usr/share/php:/usr/share/pear:/usr/share/php") in Unknown on line 0
[11-Dec-2023 13:48:54 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:48:54 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:48:54 UTC] PHP Fatal error: Failed opening required '/home/example1/public_html/xmlrpc.php' (include_path=".:/opt/alt/php81/usr/share/pear:/opt/alt/php81/usr/share/php:/usr/share/pear:/usr/share/php") in Unknown on line 0
[11-Dec-2023 13:53:03 UTC] PHP Warning: Undefined array key "color" in /home/example1/public_html/wp-content/plugins/advanced-accordion-block/advanced-accordion-block.php on line 146
[11-Dec-2023 13:53:03 UTC] PHP Warning: Undefined array key "color" in /home/example1/public_html/wp-content/plugins/advanced-accordion-block/advanced-accordion-block.php on line 148
[11-Dec-2023 13:53:44 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:53:44 UTC] PHP Warning: Unknown: Failed to open stream: Permission denied in Unknown on line 0
[11-Dec-2023 13:53:44 UTC] PHP Fatal error: Failed opening required '/home/example1/public_html/xmlrpc.php' (include_path=".:/opt/alt/php81/usr/share/pear:/opt/alt/php81/usr/share/php:/usr/share/pear:/usr/share/php") in Unknown on line 0
Вы когда-нибудь решили проблемы с ошибками JS в Gravity Forms?
У меня такие же ошибки после обновления до 2.8, затем я понизил версию до последней рабочей, но ошибки остались.
Файл htaccess, кажется, не имеет отношения к нашей ситуации.
Ответ или решение
Ваша проблема с ошибками JavaScript на сайте WordPress, которая возникает при наличии файла .htaccess, может быть связана с рядом факторов. Давайте рассмотрим возможные причины и способы их решения.
1. Проверьте файл .htaccess
Файл .htaccess, который вы предоставили, является стандартным для WordPress и на первый взгляд выглядит правильно. Однако в нем могут быть другие строчки или директивы, добавленные ранее, которые могут мешать работе JavaScript. Убедитесь, что файл не содержит дополнительных правил, особенно связанных с ограничением доступа к ресурсам.
2. Полномочия файлов и папок
Ваша ошибка в логах (Failed to open stream: Permission denied) указывает на проблему с правами доступа к файлам. Проверьте права доступа к файлам и папкам на вашем сервере:
- Папки должны иметь права 755.
- Файлы должны иметь права 644.
Также убедитесь, что файл xmlrpc.php
, упомянутый в логах, существует и имеет корректные права доступа.
3. Конфликт плагинов или тем
Ошибки JavaScript могут быть вызваны конфликтами между плагинами, особенно после обновления. Для диагностики:
- Отключите все плагины, кроме Gravity Forms, и проверьте, проблему исчезла.
- Если ошибки исчезли, включайте плагины по одному, чтобы найти конфликтующий.
- Попробуйте переключиться на базовую тему WordPress (например, Twenty Twenty-One).
4. Обновления и совместимость
Вы упомянули, что обновление до версии 2.8 само по себе привело к ошибкам. Убедитесь, что:
- Все плагину и тема обновлены до последних версий.
- Если есть какие-либо известные проблемы с совместимостью, обратитесь к документации плагина Gravity Forms.
5. Консоль разработчика
Используйте консоль разработчика браузера (F12 в большинстве браузеров), чтобы отслеживать JavaScript-ошибки. Это поможет вам определить, какой именно скрипт вызывает проблему.
6. Кэш браузера и кэширование на сервере
Очистите кэш браузера и кэш вашего сайта (если использованы плагины для кэширования). Иногда старые версии файлов не обновляются, вызывая различные проблемы.
Заключение
Попробуйте выполнить эти шаги по очереди, чтобы определить источник проблемы. Если ошибка будет сохраняться после выполнения всех вышеперечисленных действий, возможно, стоит обратиться в техподдержку вашего хостинга или разработчиков плагина Gravity Forms для более глубокой диагностики.
Если у вас останутся вопросы или будут возникать новые ошибки, пожалуйста, дайте мне знать!