Задать вопрос
  • Как исправить ошибки сканирования сайта на WP сервисом gtmetrix?

    @postoblivion Автор вопроса
    По поводу rbhd.ru/wp-admin/admin-ajax.php?action=siteorigin_... это фишка плагина PageBuilder который шел с темой, в его опциях надо было поставить Inline CSS.
    Остальное решил сменой плагина на связку Hyper Cache+Autoptimize+Speed Bosster Pack
    Сразу везде получил стабильные рейтинги 95% А, осталось только CDN прикрутить.
    Конечно когда я поставил adsense на сайт Рейтинг упал до 88% B. Но тут уже надо выбирать, либо лишний доход либо скорость.
    6820660e3c824d6cb9b554b9da7e4daa.png9bc3c3a92edd4e3587cb3d9957c77743.png77927dd0fd3b4c539d89ff3e250d5245.png
    Ответ написан
    3 комментария
  • Как изменить расположение элементов WooCommerce в WordPress?

    Punkie
    @Punkie
    В папке плагина woocommerce есть файл со всеми хуками - woocommerce_hooks.php . Находите в нем отрезок, который отвечает за нужный вам кусок шаблона (в вашем случае woocommerce_single_product_summary), смотрите вызовы add_action.
    У вас они будут как раз такие, как закоментировано в коде выше, то есть:
    @hooked woocommerce_template_single_title - 5
                 * @hooked woocommerce_template_single_price - 10
                 * @hooked woocommerce_template_single_excerpt - 20
                 * @hooked woocommerce_template_single_add_to_cart - 30
                 * @hooked woocommerce_template_single_meta - 40
                 * @hooked woocommerce_template_single_sharing - 50


    В данном случае числа - это последовательность (приоритет) активации action'ов.
    Теперь вам нужно в functions.php вашей темы деактивировать эти action'ы методом remove_action и выполнить их активацию в нужном вам порядке.
    Например, вам нужно, чтобы сначала выводилось название товара, затем краткое описание, затем цена и тд.
    Код будет примерно такой:
    *тут перечисляем все строки с методом remove_action:
    
    remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 5);
    remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10);
    ... и т.д.
    
    *Теперь вызываем те же действия по хуку woocommerce_single_product_summary, но в нужной нам последовательности:
    add_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 5);
    add_action('woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 10);
    add_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 15);
    ... и т.д.

    Числовой приоритет вызова обычно делают кратным 5 для того, чтобы можно было потом еще что нибудь впихнуть между вызовами. Например, захотите потом добавить вывод ключевых слов или уникального поля товара между названием и кратким описанием. Тогда приоритет вызова можно будет сделать 6-9 без необходимости заново перебирать весь массив вызова хука.

    Подробнее про понятия hook, action и filter читайте в официальном руководстве: Introduction to hooks: actions and filters
    Ответ написан
    7 комментариев