5,0 91 отзыв +7 (985) 277-91-53 Обсудить проект Меню

Полезные коды для сайта на WordPress

  • Vladimir Sergeev
  • Обновлено
  • 5 минут чтения
  • 266 просмотров
  • Сайты на Wordpress
Полезные коды для сайта на WordPress
Содержание
  1. Код HTTPS переадресации .htaccess
  2. Php коды для Woocommerce
    1. Отключение разброса вариативной цены товара Woocommerce
    2. Как добавить изображения товаров на страницу «Оформление заказа»
    3. Скрыть категорию в каталоге
    4. Убрать поля Woocommerce
    5. Убрать надоедливый зум изображения товара
  3. Закрытие попапа элементора после клика внутри него
  4. Закрытие сайта от индексации в .htaccess
  5. Закрытие сайта от индексации в robots.txt
  6. Отключение автообновления WordPress
  7. Php код перевода текста в WordPress

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

Большая часть php кодов вставляется в файл functions.php, если вы не знаете где он находится и как в него вставить - ознакомьтесь с этой статьей.

Код HTTPS переадресации .htaccess

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Данный сниппет позволит вам сделать 301 редирект для всех страниц вашего сайта с HTTP на HTTPS протокол.

Вставьте его в ваш файл .htaccess, находящимся в корневной папке сайта на хостинге.

Php коды для Woocommerce

Отключение разброса вариативной цены товара Woocommerce

Вариативный товар WooCommerce: цена диапазоном $30.00 – $150.00

Обычно Woocommerce вызывает множество вопросов при работе с ним и многое хочется исправить, именно поэтому все коды для сайта на wordpress + wocommerce объединены для вашего удобства.

Для стандартного вариативного товара woocommerce предлагает именно такое отображение вариативной цены.

Выглядит неплохо, но не всем подходит, рассмотрим другие варианты отображения ниже.

function wc_varb_price_range( $wcv_price, $product ) {
 
    $wcv_reg_min_price = $product->get_variation_regular_price( 'min', true );
    $wcv_min_sale_price    = $product->get_variation_sale_price( 'min', true );
    $wcv_max_price = $product->get_variation_price( 'max', true );
    $wcv_min_price = $product->get_variation_price( 'min', true );
 
    $wcv_price = ( $wcv_min_sale_price == $wcv_reg_min_price ) ?
        wc_price( $wcv_reg_min_price ) :
        '<del>' . wc_price( $wcv_reg_min_price ) . '</del>' . '<ins>' . wc_price( $wcv_min_sale_price ) . '</ins>';
 
    return ( $wcv_min_price == $wcv_max_price ) ?
        $wcv_price :
        sprintf('От:%s%s', $prefix, $wcv_price);
}
 
add_filter( 'woocommerce_variable_sale_price_html', 'wc_varb_price_range', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'wc_varb_price_range', 10, 2 );

Если в карточке товара цена показывается как диапазон значений, например 30-150 $, то данный сниппет превратит ее в "от 30 $".

Префикс "от" может быть произвольным, или вы совсем можете его убрать, для этого обратите внимание 14 строчку кода.

Вариативный товар WooCommerce: цена «От: $30.00» после правки кода

Как добавить изображения товаров на страницу «Оформление заказа»

add_filter( 'woocommerce_cart_item_name', 'sergeev_studio_checkout_product_images', 25, 2 );
 
function sergeev_studio_checkout_product_images( $name, $cart_item ) {
 
	if ( ! is_checkout() ) {
		return $name;
	}
 
	$product = $cart_item[ 'data' ];
	$image = $product->get_image( array( 50, 50 ), array( 'class' => 'alignleft' ) );

	return $image . $name;
 
}

Крайне полезный php код для woocommerce, позволяющий чуть-чуть разнообразить внешний вид страницы оформления заказа.

Изображение на странице оформления заказа

Скрыть категорию в каталоге

add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

function custom_pre_get_posts_query( $q ) {

    if ( ! $q->is_main_query() ) return;
    if ( ! $q->is_post_type_archive() ) return;

    if ( ! is_admin() && is_shop() ) {

        $q->set( 'tax_query', array(array(
            'taxonomy' => 'product_cat',
            'field' => 'slug',
            'terms' => array( 'vasha-categoriya' ), // Ссылка категории, без домена https://sergeev.studio/vasha-categoriya
            'operator' => 'NOT IN'
        )));

    }

    remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

}

Данный сниппет поможет вам убрать какую-то товарную категорию из общего каталога. Полезно, когда есть категория определенных товаров, которые должны быть либо в закрытом доступе, либо предлагаться как подарки к основному продукту.

Убрать поля Woocommerce

add_filter('woocommerce_checkout_fields','remove_checkout_fields');
function remove_checkout_fields($fields){
    unset($fields['billing']['billing_first_name']);
    unset($fields['billing']['billing_last_name']);
    unset($fields['billing']['billing_company']);
    unset($fields['billing']['billing_address_1']);
    //unset($fields['billing']['billing_address_2']); //Если какое-то поле нужно оставить, ставьте перед ним "//" как в этом примере
    unset($fields['billing']['billing_city']);
    unset($fields['billing']['billing_postcode']);
    unset($fields['billing']['billing_country']);
    unset($fields['billing']['billing_state']);
    unset($fields['billing']['billing_phone']);
    unset($fields['order']['order_comments']);
    unset($fields['billing']['billing_email']);
    unset($fields['account']['account_username']);
    unset($fields['account']['account_password']);
    unset($fields['account']['account_password-2']);
    return $fields;
}

Один из наиболее часто используемых. Woocommerce по умолчанию имеет бессметное количество полей на странице оформления заказа, и вот сюрприз, 90% людей они все не нужны.

Данный код для сайта на связке wordpress +  wocoommerce позволит вам с легкостью отключить ненужные вам поля. Обратите внимание на 7 строку кода, там есть пояснение, как работать с данным сниппетом.

Убрать надоедливый зум изображения товара

remove_theme_support( 'wc-product-gallery-zoom' );

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

Закрытие попапа элементора после клика внутри него

<script> jQuery(function($){ $(document).on('click','.elementor-location-popup a', function(event){ elementorProFrontend.modules.popup.closePopup( {}, event); }); }); </script>

Незаменимый код для вашего сайта на wordpress если вы работаете с конструктором страниц Elementor и его всплывающими окнами.

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

Данный скрипт позволяет избежать данной путаницы и закрыть всплывающее окно, как только внутри него будет совершен клик.

Данный скрипт можете вставить в HTML виджет внутрь вашего всплывающего окна. А если вам нужно закрывать какое-то конкретное всплывающее окно, то в этом коде вам нужно указать его класс, который вы ему присвоите вместо .elementor-location-popup

Закрытие сайта от индексации в .htaccess

SetEnvIfNoCase User-Agent "^Googlebot" search_bot
SetEnvIfNoCase User-Agent "^Yandex" search_bot
SetEnvIfNoCase User-Agent "^Yahoo" search_bot
SetEnvIfNoCase User-Agent "^Aport" search_bot
SetEnvIfNoCase User-Agent "^msnbot" search_bot
SetEnvIfNoCase User-Agent "^spider" search_bot
SetEnvIfNoCase User-Agent "^Robot" search_bot
SetEnvIfNoCase User-Agent "^php" search_bot
SetEnvIfNoCase User-Agent "^Mail" search_bot
SetEnvIfNoCase User-Agent "^bot" search_bot
SetEnvIfNoCase User-Agent "^igdeSpyder" search_bot
SetEnvIfNoCase User-Agent "^Snapbot" search_bot
SetEnvIfNoCase User-Agent "^WordPress" search_bot
SetEnvIfNoCase User-Agent "^BlogPulseLive" search_bot
SetEnvIfNoCase User-Agent "^Parser" search_bot

Данный сниппет поможет закрыть ваш сайт на wordpress от индексации, это является жестким запретом, а не рекомендацией для роботов как в случае с Robots.txt

Кстати, касаемо robots.txt

Закрытие сайта от индексации в robots.txt

User-agent: * 
Disallow: / 

Эти строчки помогут закрыть вам сайт от индексации от всех поисковых систем. Важно понимать, что robots.txt носит рекомендательный характер для роботов, но обычно и одного его хватает.

Создайте просто текстовый файл "Robots.txt" - внесите в него данные строчки и сохранить в корневой папке вашего сайта

Отключение автообновления WordPress

define( 'AUTOMATIC_UPDATER_DISABLED', true );

Эту строчку нужно добавить в ваш конфиг - wp-config. Находится он в корневой папке.

Php код перевода текста в WordPress

add_filter('gettext', 'translate_text');
add_filter('ngettext', 'translate_text');
 
function translate_text($translated) {
$translated = str_ireplace('Cart totals', 'Сумма заказа', $translated);
$translated = str_ireplace('Cart totals', 'Сумма заказа', $translated);
return $translated;
}

Один из самых часто используемых кодов для сайта на wordpress в нашей разработке. Он позволяет переводить любую фразу на сайте без установки дополнительных плагинов по типу "Loco Translate".

В случае когда нужно перевести парочку фраз и не хочется грузить сайт целым плагином - это решение точно для вас.

Строки 5-6 отвечают как раз за перевод. "Cart totals" - то, что нужно перевести, "Сумма заказа" - на что меняем.

Понравилась статья? Поделитесь:

Наши услуги

Остались вопросы или нужна помощь?

Оставьте заявку и мы свяжемся с вами в ближайшее время и ответим на все вопросы, касающиеся разработки сайта под ключ.

Также, пишите в мессенджеры, отвечаем в течение 15 минут.

Потяните слайдер — заявка отправится

Или напишите нам сами:

Доверьте разработку сайта нам, обещаем только обдуманный подход, никакого обмана и адекватные цены.

Похожие материалы

  • Критическая ошибка Wordpress - решено Сайты на Wordpress

    Критическая ошибка WordPress — решено

    В статье разобрались что делать, что на вашем сайте на Wordpress появилась критическая ошибка.

  • Размер лендинга - идеальные параметры Сайты на Wordpress

    Размер лендинга — идеальные параметры

    Расскажем как идеально подобрать параметры для размера лендинга. На что стоит обратить внимание и почему 1920х1080 не подходит.

  • Создание лендинга с нуля: пошагово Сайты на Wordpress

    Создание лендинга с нуля: пошагово

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

Оставьте заявку

Свяжемся с вами в течение 15 минут

Куда вам написать?

Потяните слайдер — заявка отправится

+7 (985) 277-91-53На связи 24/7