• Использую плагин q-and-a-focus-plus-faq


    Переключаю сайт в режим nginx+php-fpm и перед текстом faq на сайте начинают вылазить предупреждения вида:


    Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/… /wp-content/plugins/q-and-a-focus-plus-faq/inc/functions.php on line 250

    и таких с десяток.

    После них идет обычный текст работы самого плагина.
    В общем на функционал данные предупреждения не влияют.

    Как их убрать?

    Попытался через wp-config.php
    ini_set(‘log_errors’,’On’);
    ini_set(‘display_errors’,’Off’);
    ini_set(‘error_reporting’, E_ALL );
    define(‘WP_DEBUG’, false);
    define(‘WP_DEBUG_LOG’, true);
    define(‘WP_DEBUG_DISPLAY’, false);

    Кеш очистил, ошибки на месте.

    Сам плагин более разработчиками не поддерживается и связаться с поддержкой невозможно.

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Заменить плагин на работающий и поддерживаемый — не вариант?

    Вариант, но нужно много переносить данных. Устаревший плагин стоит еще на десятке сайтов и там та же история. То есть это займёт много времени.

    Поэтому на текущий момент нужно заглушить предупреждение, а дальше своим темпом переносить.

    Поправьте плагина код, чтоб не матерился…

    В PHP 7.3 был введен is_countable для исправления вашей ошибки
    https://www.php.net/manual/ru/function.is-countable.php

    Благодарю за отклики.

    Плагин ругается на 250 строку файла functions.php

    Вот эта строка: $catCount = count( $faq_cats );

    Ниже фрагмент кода вокруг:

    $qafp_cats = »;
    $faq_cats = qafp_add_categories();
    $hasCats = !empty( $faq_cats );
    if ( $hasCats ) {
    $catCount = count( $faq_cats );
    if ( $catCount > 1 ) $qafp_cats = ( ‘Categories: ‘, ‘qa-focus-plus’ ) . $faq_cats; else $qafp_cats = ( ‘Category: ‘, ‘qa-focus-plus’ ) . $faq_cats;
    //$qafp_cats = sprintf( n( ‘Category: ‘, ‘Categories: ‘, $faq_cats, ‘qa-focus-plus’ ), $catCount ) . ‘ — ‘ . get_post_reply_link( », $post->ID ); //if ( $hasCats ) $qafp_cats = _( ‘Posted in: ‘, ‘qa-focus-plus’ ) . $faq_cats;
    }

    Альтернатива заглушить вывод предупреждения — подправить код. Любой вариант подходит, как сделать не знаю.

    наплачетесь вы с этим плагином… попробуйте так:

    if ( $hasCats ) {
    //$catCount = count( $faq_cats );
    if ( is_array($faq_cats))

    efess, большое спасибо! Помогло.

    >наплачетесь вы с этим плагином…

    Планирую его сменить. Просто сейчас нет на это времени, более важная задача стоит снизить нагрузку на сервер путем перевода ряда сайтов на в режим nginx+php-fpm.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «Появляется сообщение Warning…» закрыта для новых ответов.