Ответы пользователя по тегу WordPress
  • Как предотвратить падение PHPUnit в GitLab CI от ошибки типа Warning, прилетающей из bootstrap-точки файла Wordpress-ядра?

    TemaSM
    @TemaSM
    Fullstack, DevOps, InfSec
    Проблема возникает скорее всего из-за того, что bootstrap-точка файла Wordpress-ядра вызывает необходимость доступа к суперглобальным переменным, таким как $_SERVER. Но в GitLab CI эти переменные не установлены, и поэтому возникает ошибка "Undefined array key "HTTP_HOST"".
    При локальном запуске тестов этот массив определен и поэтому вы не видите ошибку.

    Чтобы решить эту проблему, можно попробовать заменить bootstrap="wp-load.php" на bootstrap="tests/bootstrap.php".
    После этого создайте файл tests/bootstrap.php со следующим содержимым:
    <?php
    // Подключаем файл wp-load.php, чтобы иметь доступ к функциям Wordpress
    require_once dirname( __FILE__ ) . '/../wp-load.php';
    
    // Устанавливаем значения для некоторых суперглобальных переменных, которые используются в Wordpress
    $_SERVER['HTTP_HOST'] = 'localhost';
    $_SERVER['SERVER_NAME'] = 'localhost';
    $_SERVER['REQUEST_URI'] = '/';

    Этот файл загружает файл wp-load.php, устанавливает значения для необходимых суперглобальных переменных и предотвращает возникновение ошибок "Undefined array key "HTTP_HOST"".

    Либо можно переопределить значение этой переменной внутри вашего файла phpunit.xml

    Для этого необходимо добавить php настройки внутри вашего phpunit.xml файла, которые переопределят значение HTTP_HOST, напр.:
    <php>
        <server name="HTTP_HOST" value="localhost"/>
    </php>

    Это должно предотвратить появление ошибки.
    Ответ написан
    Комментировать
  • Поп ап из плагина hustle не отображается вне админки, в чем проблема?

    TemaSM
    @TemaSM
    Fullstack, DevOps, InfSec
    Если Popup из плагина Hustle для WordPress отображается только в админке, но не на фронтенде сайта, это может быть связано с несколькими возможными причинами:

    • Неактивный плагин: Убедитесь, что плагин Hustle активирован на вашем сайте. Если плагин не активирован, то его функциональность не будет работать.

    • Конфликт с другим плагином: Некоторые плагины могут конфликтовать с плагином Hustle и блокировать отображение Popup. Попробуйте временно отключить все другие плагины, кроме Hustle, и проверить, появится ли Popup на сайте.

    • Тема: Некоторые темы WordPress могут также блокировать отображение Popup. Попробуйте временно изменить тему на стандартную WordPress Twenty Twenty-One и проверить, появится ли Popup на сайте.

    • Блокировщик рекламы: Если на вашем сайте или в браузере установлены блокировщики рекламы, они могут блокировать отображение Popup. Проверьте, отключен ли блокировщик рекламы на вашем сайте/в браузере.

    • Неактивные условия отображения: Проверьте условия отображения Popup в настройках плагина Hustle. Убедитесь, что выбранные условия активны на вашем сайте и что Popup должен отображаться на нужной странице.

    Если ответ помог, не забудьте отметить его как решение вашего вопроса.
    Ответ написан
    Комментировать
  • Почему у меня на странице магазина woocommrce выводятся одинаковые товары?

    TemaSM
    @TemaSM
    Fullstack, DevOps, InfSec
    Возможно, проблема заключается в наличии дубликатов товаров в базе данных WooCommerce или в конфигурации настроек. Ниже приведены некоторые возможные причины и способы их решения:

    • Дубликаты товаров в базе данных: убедитесь, что у вас нет дубликатов товаров в базе данных. Вы можете проверить это, открыв таблицу "wp_posts" в базе данных WordPress и убедитесь, что у каждого товара есть уникальный идентификатор (ID). Если вы обнаружили дубликаты, удалите их.

    • Кэширование: проверьте, используете ли вы какие-либо плагины кэширования на вашем сайте. Если да, попробуйте отключить кэширование и проверить, решит ли это проблему.

    • Конфигурация настроек: проверьте настройки WooCommerce в админ-панели WordPress и убедитесь, что вы не настроили какие-либо фильтры или параметры, которые могут приводить к повторному выводу тех же товаров.

    • Проверьте наличие дубликатов в шаблоне вашего магазина. Убедитесь, что в коде не используется какой-либо цикл, который мог бы выводить один и тот же товар несколько раз.

    • Обновление: обновите все плагины и темы до последней версии. Если проблема сохраняется, попробуйте отключить все плагины, кроме WooCommerce, и проверить, устранится ли проблема. Если да, включайте плагины по одному, чтобы определить, какой из них вызывает проблему.

    Если ответ помог, не забудьте отметить его как решение вашего вопроса.
    Ответ написан
    Комментировать
  • Почему не перезагружается браузер при редактировании кода с расширением PHP на локальном сайте Wordpress?

    TemaSM
    @TemaSM
    Fullstack, DevOps, InfSec
    С кодом gulp-файла практически всё в порядке.
    Убедитесь что при открытии вкладки в браузере, справа сверху в углу сайта появляется похожая надпись как на скриншоте - это означает что текущая вкладка успешно подключилась к серверу Browsersync, в противном случае что-то мешает подключению (расширения в браузере, CORS политики, запрет загрузки http ресурсов и соединений из под открытой по https странице)
    609755e32e832804684561.png
    Также, можно дополнительно посмотреть "админку" сервера Browsersync со списком подключенных вкладок (браузеров) к серверу: localhost:3001 (раздел: Current Connections - скриншот ниже).
    И нажав на кнопку "Reload all" (скриншот ниже) проверить перезагрузится ли вкладка с сайтом.
    Если перезагрузится, значит проблема не в подключении к серверу Browsersync, значит что-то не так в тасках gulp/путях к файлам за изменениями которых вы наблюдаете из под Gulp.
    Если же не перезагрузится, то точно проблема с подключением к серверу Browsersync из под вкладки с сайтом.
    60975a05b16d0030381815.png
    В целом советую посмотреть в DevTools браузера - консоль и вкладку Network, и изучить подробнее доки: https://www.browsersync.io/docs/options
    Ответ написан
    2 комментария