/ Wordpress / Различные ошибки и их решения

Различные ошибки и их решения

HIT

29.09.2015

4154

В данной статье будут разбираться различные ошибки на сайте, конфликты скриптов и варианты их решения.

Не обновляются плагины wordpress (долго пытаются обновится, но ничего не происходит) + некоторые плагины работают некоректно.
Решение: изменение версии php c php5+APC на php5.3(APC)
Иногда скрипты jquery могут конфликтовать, выдавая ошибки и блокируя работу друг друга
Решение: если скрипт должен воздействовать на конкретный блок, а его в данном шаблоне нет — скрипт может выдавать ошибку. Надо обернуть данный скрипт в условие if($(«div»).is(«#share-pannel»)) { скрипт }.

Циклические ссылки

Обнаружены циклические ссылки. Сайт выполнил переадресацию слишком много раз..

Решение: надо проверить файл htacces: включен ли модуль mod_rewrhite, нет ли каких-то редиректов. Проверить установлен ли на сайте плагин для редиректа.

Еще одной причиной может быть плагин Really Simple SSL (4 млн установок!). Этот абсолютно ненужный (потому что нужно ставить бесплатный сертификат Let’sEnScript и делать самостоятельно редирект, если необходимо) плагин провоцирует циклические ссылки. При этом его не так просто отключить. Рекомендация по отключению: через БД прописать у сайта http, активировать плагин и включить его основную функцию SSL. После этого деактивировать плагин, но не из списка плагинов, а из самого плагина с сохранением SSL (естественно на хостинге должен быть установлен SSL).

Не отключается лайтбокс Woocommerce

Поставил плагин FancyBox, при этом хотел отключить стандартный плагин Woocommerce. Для этого снял галку в настройках — не помогло. Данный скрипт для того чтобы полностью отключить лайтбокс WC и все его стили.

//DISABLE WOOCOMMERCE PRETTY PHOTO SCRIPTS
add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );

function my_deregister_javascript() {
	wp_deregister_script( 'prettyPhoto' );
	wp_deregister_script( 'prettyPhoto-init' );
}

//DISABLE WOOCOMMERCE PRETTY PHOTO STYLE
add_action( 'wp_print_styles', 'my_deregister_styles', 100 );

function my_deregister_styles() {
	wp_deregister_style( 'woocommerce_prettyPhoto_css' );
}

Не загружаются изображения

При загрузке изображений — ошибка HTTP.
Решение: надо на хостинге отключить один из этих модулей (не знаю какой точно): gmagick, http.

No Access-Control-Allow-Origin header

Слетел шрифт, ошибка связана с правами на этот шрифт.
Решение: надо вставить в .htaccess следующее

<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
# mod_headers, y u no match by Content-Type?!
<FilesMatch "\.(gif|png|jpe?g|svg|svgz|ico|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
# ----------------------------------------------------------------------
# Webfont access
# ----------------------------------------------------------------------
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>

Сайт не работает на домашнем компьютере

Ошибка — ERR_CONNECTION_REFUSED

Не работает вывод автора the_author();
Данная функция должна находится внутри конструкции while (have_posts()) : the_post(); / endwhile;

Не загружаются и не обновляются плагины

cURL error 35: error:0D0890A1:asn1 encoding routines:ASN1

Решение: проблема из-за версии php 5.2, вылечилось переходом на версию 5.6

Не отправляются заказы Woocommerce

Часто возникающая проблема — не приходят заказы WC ни на почту администратора, ни на почту заказчика. Обязательно нужно сделать 3 вещи:

  1. Сделать почту домена
  2. Установить и настроить плагин WP Mail SMTP (как это сделать описано в той же статье про почту домена).
  3. Указать созданный ящик домена в настройках Woocommerce/Email’ы в поле Адрес отправителя.

После этого все необходимые заказы/уведомления будут отправляться куда следует.

Fatal error: Uncaught Error: Call to a member function

Данная ошибка встречается в woocommerce при изменении расположения хуков.
Причина: переменная вызывается без объявления глобальной переменной global $post, $product;, нужно ее прописать.

Ошибка поиска тем и плагинов

При попытке добавить (найти) тему или плагин выводится сообщение:
Произошла непредвиденная ошибка. Возможно, что-то не так с сайтом WordPress.org или с настройками вашего сервера. Если проблема не решится, обратитесь на форумы поддержки.

Возможные причины: Подключены ли расширения curl и openssl? Разрешены ли исходящие соединения?

Дефисы превращаются в тире

Если поставить подряд четыре 3 дефиса, то во фронтэнде они выведутся как тире. Проблемы происходят с русскоязычными доменами .рф, т.к. в их кодировке встречается по несколько дефисов подряд, и соответственно пути нарушаются.

Не удаляются товары WC

В какой-то момент перестали удаляться из корзины товары (в корзине и в миникорзине).

Warning: mysqli_real_connect(): Headers and client library minor version mismatch. Headers:50636 Library:100031

Изменил php с версии 7.1 на 7.0. Ошибка ушла, но проблема осталась.

Ошибка JavaScript и Cookies

Sorry, there was an error. Please be sure JavaScript and Cookies are enabled in your browser and try again.

Данная ошибка происходит из-за плагина Spam Shield (АнтиСпам). Причем подобные конфликты с JavaScript и Cookies с данным плагином возникали и ранее. В таких случаях разработчики обычно выпускали обновление и проблема исчезала.

500 internal server error

Это ошибка сервера, в большинстве случаев связана с файлом .htaccess, точнее с неправильным синтаксисом в нем. Вариантами устранения является комментирование подозрительных строк знаком # (вначале) или выводом ошибок (строка): php_flag display_errors on, после чего вместо 500 internal server error будет выводиться конкретная ошибка (строка/документ), которую необходимо устранить.

… is not a function (jquery)

Это происходит из-за неправильного вызова функции. Помогает наведение порядка в js: последовательность загрузки скриптов, установка одиночных кавычек, замена $ на jQuery, удаление лишних запятых, добавление недостающих точки с запятой. В последней версии WordPress есть встроенная функция проверки кода и предупреждения об ошибках.

Также может помочь оборачивание проблемного скрипта в конструкцию:

(function($) {
..some script
})(jQuery);

Сообщение: Подтвердите действие на сайте

Нет интернет-соединения. Проверьте подключение и повторите попытку.

Методом тыка определил, что проблему вызывает плагин Contact Form 7. Это происходило из-за неправильно установленной reCaptcha.

Ошибка mediaelement

Uncaught TypeError: b(…).not(…).filter(…).mediaelementplayer is not a function

Устранил ошибку отключением mediaelement

add_action('init', 'avf_remove_media_element', 10);
function avf_remove_media_element()
{	
	wp_deregister_script('wp-mediaelement');
	wp_deregister_style('wp-mediaelement');
}

Не загружаются файлы

Не загружаются файлы, не обновляются плагины, при редактировании файл становиться пустым (и на него ничего не записывается) — это все признаки того, что на хостинге нет места на жестком диске.

Проблема с WP_CACHE

Не фатальная ошибка видна только с WP_DEBUG, выглядит примерно так:

Warning: include(/wp-content/advanced-cache.php): failed to open stream: No such file or directory in /wp-settings.php on line 84

Возникает если на сайте установлен сторонний плагин кэширования, который в процессе установки удалил advanced-cache.php, который система не может найти.
Нужно отключить функцию:

define('WP_CACHE', false);

либо восстановить ее в ядре.

Не отображаются ВСЕ заказы WC

При этом если перейти во вкладки Обрабатываются или Завершенные заказы выводятся. Стало происходить после обновления WordPress до версии 5.0. Помогло обновление WC до последней версии.

Не работает меню

Ошибка columns is not defined. Возникала из-за функции юр. или физ. лицо, которая на том сайте была лишней.

Ошибка WC отображения в архивах подкатегорий / товаров

При включении настройки отображать в архивах подкатегории все равно отображаются товары. Изменение темы (в т.ч. на Storefront), отключение всех плагинов не помогло. Пришлось принудительно у категорий включать опцию Показывать подкатегории.

Ошибка WC пагинации товаров которых нет в наличии

Столкнулся с ситуацией, когда в настройках WC указал скрыть товары которых нет в наличии, но при этом пагинация как бы игнорирует эту настройку и отображает количество всех товаров, но часть их них не показывает. Из-за этого получается что на одной странице может быть 8 товаров, на второй 3, а третьей 15. Что не удобно.

Решается это функцией:

// Выводить только товары в наличии
add_filter( 'pre_get_posts', 'truemisha_show_in_stock_only', 25 );
function truemisha_show_in_stock_only( $query ) {
	if(
		! is_admin()
		&& $query->is_main_query()
		&& ( is_shop() || is_product_category() || is_product_tag() )
	) {
		$query->set( 
			'meta_query', 
			array( 
				array(
					'key'       => '_stock_status',
					'value'     => 'outofstock',
					'compare'   => 'NOT IN'
				)
			)
		);
	}
}
Родную настройку WC «Спрятать отсутствующие товары из каталога» лучше при этом вовсе отключить, т.к. она может привести к конфликтам.

Ошибка доставки WC: Нет доступных способов доставки

Не выявил из-за чего появляется ошибка. Но способы появляются если несколько раз включить и выключить checkbox (возможно скрытый в некоторых шаблонах) «Доставка по другому адресу?».

Эта ошибка возникает если отключить поле Страна в полях доставки или оплаты (в зависимости от какого адреса берутся методы доставки). Это поле нельзя отключать, а только скрывать стилями.

504 Gateway Time-out

Данная ошибка может возникать при работе с БД, обычно при массовых изменениях. Ошибка устранилась когда на хостинге увеличили серверный TimeOut с 120 секунд до 1800.

Этот товар не может быть куплен

Может быть вызван ошибкой какого-либо из плагинов. Решал эту ошибку постепенным отключением плагинов.

Чтобы осуществить запрошенное действие, WordPress необходим доступ к вашему серверу

Также может выводится уведомление «Невозможно полностью удалить плагин».

Данная ошибка возникает при удалении плагинов, вероятно связана с сервером. Помогает изменение прав 777 на папки wp-content и wp-plugins. Также помогает директива

define('FS_METHOD', 'direct');

в файле wp-config.php. Прописывать нужно после строки:

define('DB_COLLATE', '');

Извините, вам не разрешено загрузить этот тип файл

Ошибка происходила при загрузке изначально разрешенного .doc. Причина была в том что .doc был в формате rtl. Пересохранил файл в doc 97 и он сразу загрузился.

В описаниях к категориям не сохраняются и не выводятся тэги iFrame

Не сохраняться тэги iFrame могут в частности из-за плагина YoastSEO из-за строк 250 и 251 в файле admin/taxonomy/class-taxonomy.php.

Вывести iframe можно используя код:

// Allow HTML in term (category, tag) descriptions

function custom_wpkses_post_tags( $tags, $context ) {

    if ( 'post' === $context ) {
        $tags['iframe'] = array(
            'src'             => true,
            'height'          => true,
            'width'           => true,
            'frameborder'     => true,
            'allowfullscreen' => true,
        );
    }

    return $tags;
}

add_filter( 'wp_kses_allowed_html', 'custom_wpkses_post_tags', 10, 2 );

Телефон с градиентом

Странная ошибка. Телефон становится с градиентом с прозрачностью по символам. Каждый символ обернут тегом small и каждый последующий с меньшим значением opacity. Не смог найти причину. Устранить можно стилями:

a[href^="tel"] small {
    opacity: 1 !important;
    font-size: var(--wp--preset--font-size--large) !important;
}
[site-socialshare]
  • Похожие записи
  • Комментарии
  • Вложения
Порабощение iFrame

Порабощение iFrame

Технология iFrame и все что с ней связано. Элемент iframe создаёт встроенный фрейм, который находится внутри обычного документа, он позволяет загружать в область заданных размеров любые другие независимые документы. Результат Читать далее »

Отложенная загрузка видео

Отложенная загрузка видео

Как сделать отложенную загрузку изображений описано здесь. Теперь сделаем отложенной загрузку видеороликов, в частности подгружаемых с видеохостингов YOUtube и Vimeo. Отложенная загрузка iframe YouTube Из исходного iframe потребуется только ID Читать далее »

/

Добавить комментарий

Пока нет комментариев. Будь первым!

Различные ошибки и их решения Различные ошибки и их решения
Полоса загрузки страницы
Рекомендации для васПолоса загрузки страницыOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.