возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2022-03-17 в теме: WooCommerce и WordPress  Читаемая статья!
Запросто с WordPress создание и продвижение сайтов ATs media

Подборка полезного кода (сниппеты) для работы магазина на WooCommerce

Код, который полезен для работы с магазином на WooCommerce, сегодня и рассмотрим (я его собрал из всех своих статей блога в одно место). Вкратце дам комментарии к некоторому описанному в статье коду, ибо говорить по нынешнему поводу вряд ли много нужно, к тому же некоторые примеры кода для WooCommerce здорово снабжены собственными комментариями, так что…

 

Как организовать на страницах отображения товаров, исключение ненужных виджетов, отключение стилей (CSS) и перенос в корень темы (так правильнее во всех отношениях), уберём из “шапки” магазина ненужные (в некоторых случаях) метатеги, спрячем “похожие товары”, а также зададим количество отображения товаров на главной странице или в каталоге… переименуем (или добавим по своему усмотрению) табы на отдельной страничке товаров…

…и многое другое, что необходимо знать в работе с плагином Wooc:

 

В статье, для некотрых кодов, исправим ошибки по новым версиям php – коды будут работать примерно от php 5.4 и, конечно же, в php 8.0 – задавайте вопросы, если что:

 


 

 

Разделы статьи:

 

 

 

как исключить в виджете Wooc отображение категории “Без Рубрики”

 

 

 

 

32 важных расширения для магазина — плагины WooCommerce.

как убрать со страницы оплаты магазина на WooCommerce ссылку “что такое PayPal”?

Условные теги WordPress: полная подборка, пояснения

Настраиваем размеры изображений товаров в магазине WooCommerce…

Генерируем номера SKU заказов – магазин на WooCommerce; добавим/скроем артикул: много вариантов…

 

 

 

 

 

для того, чтобы исключить в виджете Вукомерс отображение системной категории “Без рубрики”, достаточно добавить предложенный ниже код в файл функций functions.php своего активного шаблона (работа с виджетами Вукомерс).

 

 

 

/** ИСКЛЮЧАЕМ в виджете отображение КАТЕГОРИИ Без Рубрики **/
add_filter( 'woocommerce_product_categories_widget_args', 'wooc_product_cat_widget_args' );
function wooc_product_cat_widget_args( $cat_args ) {
    $cat_args['exclude'] = array('103');
    return $cat_args;
}
/** ИСКЛЮЧАЕМ в виджете отображение КАТЕГОРИИ Без Рубрики **/

 

 

 

 

 

закрываем страницы магазина от поисковиков

 

 

 

Как отключить проверку уровня сложности пароля woocommerce (форма регистрации).

 

 

Закрывать страницы от поисковиков, конечно же, иногда (в некоторых случаях) нужно! Это полезно в плане избавления от дублей контента. Однако чаще бывает полезнее напротив – открывать (продвигать) страницы в поисковых системах!

 

 

 

/** ЗАКРЫВАЕМ СТРАНИЦЫ МАГАЗИНА ОТ ПОИСКОВИКОВ **/ 
add_action( 'wp_head', 'echo_meta_to22_wp_head' );
function echo_meta_to22_wp_head() {
$echo = false;
$uri = $_SERVER['REQUEST_URI']; 
//if (mb_strstr($uri, 'cart')) $echo = true;
if (mb_strstr($uri, 'checkout')) $echo = true;
if (mb_strstr($uri, 'my-account')) $echo = true;
if ($echo) echo "".'<meta name="robots" content="noindex,nofollow" />'."\n";
}
/*** ФИН ЗАКРЫВАЕМ СТРАНИЦЫ - МАГАЗИНА - ОТ ПОИСКОВИКОВ ***/

 

 

 

 

…в ЭТОМ посте рассказано подробнее о том, как закрываются страницы noindex,nofollow.

 

 

 

 

 

закрываем страницы сортировки товаров от поисковиков – GET запросы

 

 

 

 

 

это страницы отсортированные по каким-то данным, например, по популярности… и пр. Их, возможно, целесообразнее закрыть в noindex,nofollow (запрет индексирования и обхода!) или там noindex,follow… (запрет индексирования, но разрешено обходить страницу)…

 

 

 

/** закрываем страницы сортировки товаров от поисковиков **/
add_action( 'wp_head', 'noindex_wooc_mih' );
function noindex_wooc_mih (){
if (isset($_GET['orderby']))
{
if ( $_GET['orderby']=='menu_order'||
$_GET['orderby']=='popularity'||
$_GET['orderby']=='rating'||
$_GET['orderby']=='date'||
$_GET['orderby']=='price'||
$_GET['orderby']=='price-desc' // и т.д.
)
{
echo "".'<meta name="robots" content="noindex,nofollow" />'."\n";
}  }  }
/** закрываем страницы от поисковиков **/

 

 

 

WOOC – УБРАТЬ мета ROBOTS

 

 

 

 

В обновлении 3.2 Вуккомерс, для некоторых страниц товаров, разработчиками самовольно добавлен meta_robotsnoindex,follow – этот метатег также весьма просто исключить из html страницы, если вы используете свои атрибуты и лишние вам ни к чему.

 

Добавим такой простой код:

 

 

/** Новое в WOOC - УБРАТЬ мета ROBOTS: разработчики добавили мета ROBOTS noindex,follow в head - расположено в плагине в /woocommerce/includes/wc-template-functions.php в самом финале файла **/
add_action( 'init', 'wc_pageats_noindex' );   // через инит - этим убираем добавленную функцию в 3.2 meta_robots
function wc_pageats_noindex(){
remove_action( 'wp_head', 'wc_page_noindex' );// убираем функцию добавленную в 3.2 meta_robots - noindex_follow 
}   
/** УБРАТЬ ИЗ ШАПКИ строку **/

 

 

 

 

как убрать из шапки магазина на WooCommerce метатеги

 

 

 

 

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

 

 

<noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript>

 

 

Что жжж и эта строка отключается также достаточно просто как и описанные выше варианты.

 

 

/** УБРАТЬ ИЗ ШАПКИ МЕТАТЕГИ (исходный код) строку **/
add_action( 'init', 'remove_custom_action' );
function remove_custom_action(){
remove_action( 'wp_head', 'wc_gallery_noscript' );
}
/** УБРАТЬ ИЗ ШАПКИ МЕТАТЕГИ **/

 

 

 

 

спрячем количество похожих товаров

 

 

 

 

Чтобы спрятать количество похожих товаров, добавим в файл функций следующий код (читайте в статье и о разделе ниже):

 

 

 

/** СПРЯЧЕМ количество похожих товаров */
remove_action('woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20);
/** СПРЯЧЕМ количество похожих товаров */

 

 

 

 

задаём количество похожих товаров

 

 

 

 

А вот для того, чтобы задать требуемое количество отображаемых товаров, нужно воспользоваться этим чудо-кодом:

 

 

 

/** задаём количество похожих товаров */
add_filter( 'woocommerce_output_related_products_args', 'mihalica_related_products_args' );
function mihalica_related_products_args( $args ) {
$args['posts_per_page'] = 3; // количество "Похожих товаров"
$args['columns'] = 3;        // количество колонок
return $args;
}
/** задаём количество похожих товаров */

 

 

 

 

 

переименуем табы WooCommerce на своё усмотрение

 

 

 

 

Иногда, более эстетичным владельцам магазинов, требуется как-то обозначит табы по своему усмотрению – это на страничке товара – например, переименовать эти самые табов…

 

Поможет этот код:

 

 

 

/** ПЕРЕИМЕНУЕМ ТАБЫ */
add_filter( 'woocommerce_product_tabs', 'woo_remyname_tabs', 98 );
function woo_remyname_tabs( $tabs ) {
//$tabs['additional_information']['title'] = __( 'и ещё' ); // Переименум таб "дополнительная информация" - это закомментим, чтоб (чтоб скрыть у остальных товаров) добавлять атрибуты (табы) к конкретному товару
$tabs['description']['title'] = __( 'о товаре' ); // Переименум таб "описание"
$tabs['reviews']['title'] = __( 'ваше мнение' );  // Переименум таб "отзывы"
return $tabs;
}
/** ПЕРЕИМЕНУЕМ ТАБЫ **/

 

 

 

 

атрибуты табов wooc

 

 

 

 

Работа с атрибутами табов: (в комментариях подробности…)

 

 

 

/** наличие атрибута таба - выводить не выводить - переименуем Доп. информацию */
add_filter( 'woocommerce_product_tabs', 'woo_renou_name_tabs', 98 );
function woo_renou_name_tabs( $tabs ) {
global $product;
// Проверяем имеет ли товар атрибуты, вес, размер
if( $product->has_attributes() || $product->has_dimensions() || $product->has_weight() ) {
$tabs['additional_information']['title'] = __( 'и ещё' ); // Product Data Переименовываем "доп. инфо."
}
return $tabs;
}
/** наличие атрибута таба - выводить не выводить - переименуем Доп. информацию */

 

 

 

 

 

изменяем местоположение табов wooc

 

 

 

Этим кодом запросто возможно поменять местами существующие табы:

 

 

 

/** перемена мест ТАБОВ */
add_filter( 'woocommerce_product_tabs', 'woo_remyorder_tabs', 98 );
function woo_remyorder_tabs( $tabs ) {
//$tabs['additional_information']['priority'] = 15;
$tabs['description']['priority'] = 5;
$tabs['reviews']['priority'] = 10;
return $tabs;
}
/** перемена мест ТАБОВ */

 

 

 

изменяем местоположение табов wooc

 

 

 

 

 

отключаем стили CSS плагина WOOCOMMERCE

 

 

 

 

/** Отключаем стили CSS плагина WOOCOMMERCE - добавим этот код в функции WOOCOMMERCE **/
add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' );
// проба add_filter( 'woocommerce_enqueue_assets', '__return_empty_array' );

 

 

 

можно опробовать такой вариант, если верхний не отработает так, как нужно:

 

 

/** Отключаем стили CSS плагина - добавим этот код в функции Отключаем стили CSS плагина - добавим этот код в функции **/
// Remove each style one by one ЕЩЁ ВАРИАНТ ОТКЛ СТИЛЕЙ ПЛАГИНА WOOC
/** отключаем стили woocommerce **
add_filter( 'woocommerce_enqueue_styles', 'jk_dequeue_styles' );
function jk_dequeue_styles( $enqueue_styles ) {
unset( $enqueue_styles['woocommerce-general'] );           // Remove the gloss - Remove - откл.
unset( $enqueue_styles['woocommerce-layout'] );            // Remove the layout
unset( $enqueue_styles['woocommerce-smallscreen'] );       // Remove the smallscreen optimisation
return $enqueue_styles;
}
// Or just remove them all in one line
add_filter( 'woocommerce_enqueue_styles', '__return_false' );
/** отключаем стили woocommerce **/

 

 

 

 

в этой статье подробнее о стилях CSS WooCommerce

 

 

 

 

 

подключаем стили CSS из шаблона

 

 

 

 

 

Теперь нужно подключить подгрузку стилей из своего шаблона… Это, если вы переносили стили css в свой шаблон!

 

 

 

хотя, правильнее стили css объединять в один – единый, обычно это style.css – файл шаблона – для скоростей загрузок полезно.

 

 

 

 

/** теперь подключаем свои стили **/
add_action( 'wp_enqueue_scripts', 'wp_enqueue_woocommerce_style' );
function wp_enqueue_woocommerce_style(){
wp_register_style( 'имя_шаблона-woocommerce', get_template_directory_uri() . '/css/woocommerce.css' );
if ( class_exists( 'woocommerce' ) ) {
wp_enqueue_style( 'имя_шаблона-woocommerce' );
}
}
/** подключаем свои стили **/

 

 

 

 

 

меняем h3 tetle товара на витрине магазина

 

 

 

 

…чтобы изменить важный тег товара на странице магазина, поможет этот код: (фильтр) или эту статью смотрите…

 

 

/** меняем h3 tetle товара - витрина - на h2 includes/wc-template-functions.php **/
remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10 );
add_action( 'woocommerce_shop_loop_item_title', 'mihalica_woocommerce_template_loop_product_title', 10 );
function mihalica_woocommerce_template_loop_product_title() {
echo '<h2 class="myclass">' . get_the_title() . '</h2>'; }
/** меняем h3 tetle товара на h2 includes/wc-template-functions.php **/

 

 

 

 

 

А вот для того, чтобы изменить тег – например, h1 на h2 – на главной странице магазина, нужно добавить код в активный файл функций, показанный ниже…

 

 

Условные теги woocommerce

Подборка полезного кода (сниппеты) для работы магазина на WooCommerce…

 

 

 

 

ПЕРЕНОС отработки тега h1 ИМЯ МАГАЗИНА

 

 

 

 

/** ПЕРЕНОС отработки тега h1 ИМЯ МАГАЗИНА SHABLON-SHOP в h2 из плагина в тему **/
function woocom_woocommerce_content() {
if ( is_singular( 'product' ) ) {
while ( have_posts() ) : the_post();
wc_get_template_part( 'content', 'single-product' );
endwhile;
} else { ?>
<?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>

<h2 class="page-title"><?php woocommerce_page_title(); ?></h2>
<?php endif; ?>
<?php do_action( 'woocommerce_archive_description' ); ?>
<?php if ( have_posts() ) : ?>
<?php do_action('woocommerce_before_shop_loop'); ?>
<?php woocommerce_product_loop_start(); ?>
<?php woocommerce_product_subcategories(); ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php wc_get_template_part( 'content', 'product' ); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
<?php do_action('woocommerce_after_shop_loop'); ?>
<?php elseif ( ! woocommerce_product_subcategories( array( 'before' => woocommerce_product_loop_start( false ), 'after' => woocommerce_product_loop_end( false ) ) ) ) : ?>
<?php wc_get_template( 'loop/no-products-found.php' ); ?>
<?php endif;
}
}
/** ФИН ПЕРЕНОС отработки тега h1 в h2 из плагина магазина ПО МАГАЗИНУ **/

 

 

Как видите, у меня задан тег h2.

 

 

 

обновление woocommerce 3.0.0

 

 

 

 

Как многие уже знают, в обновлении wooc 3.0.0 у многих владельцев магазинов возникали проблемы с отображением галереи товаров (как всё это lightbox исправить, читайте здесь).

 

 

Подключить ЛАЙТБОКС можно, используя такой чудо код:

 

 

/** подключаем после обновления woocommerce 3.0.0 ЛАЙТБОКС-lightbox - галерею **/
function имя_темы_setup() {
add_theme_support( 'wc-product-gallery-zoom' );
add_theme_support( 'wc-product-gallery-lightbox' );
add_theme_support( 'wc-product-gallery-slider' );
}
add_action( 'after_setup_theme', 'имя_темы_setup' );
/** подключаем после обновления woocommerce 3.0.0 ЛАЙТБОКС-lightbox - галерею **/

 

 

 

 

число товаров, число колонок на странице товаров магазина WooCommerce

 

 

 

 

Как задать число товаров на витрине магазина Вукомерс? Ответ – этот код: (9 – требуемое число)

 

 

Внимание!!

 

данный ниже код можно использовать в более ранних версиях php – ошибок не будет (а для более новых версий php… читайте по варианту ниже)…

 

 

/* задаем число товаров на странице витрины МАГАЗИНА */
add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 9;' ));
/* число товаров */

 

 

 

 

исправлнеие ошибок для версии php 8

 

 

 

 

Ниже код – исправленный – для версии php 8  и т.д. Подробнее об исправлениях кода шаблонов для обновленных версий php.

 

Дело в том, что функция create_function() на данный момент считается устаревшей и в более новых версиях будет вызывать ошибки. Так в версии php 8 она вызовет фатальную ошибку. Так что внимательнее…

 

 

Как вариант, чтобы код работал – заменим create_function() на анонимную функцию:

 

 

add_filter( 'loop_shop_per_page', function( $cols ) { return 9; }, 20);

 

 

 

 

Задаём число колонок товаров на верине магазина:

 

 

 

/** число КОЛОНОК ТОВАРОВ МАГАЗИНА **/
add_filter('loop_shop_columns', 'loop_columns');
if (!function_exists('loop_columns')) {
function loop_columns() {
return 3;
} }
/** число КОЛОНОК МАГАЗИН **/

 

 

 

 

 

как отключить отзывы (комментарии) – в магазине на WooCommerce

 

 

 

 

отключить отзывы (комментарии покупателей) в магазине достаточно легко: пропишите к себе эти строки кода… А вот тут описано, как вывести функцию комментирования в корень шаблона; а здесь рассказано о том, ка сделать чтобы ссылка “редактировать комментарий” открывалась в новом окне)

 

 

 

/** отключим отзывы - комментарии **/
add_filter( 'woocommerce_product_tabs', 'sb_woo_remove_reviews_tab', 98);
function sb_woo_remove_reviews_tab($tabs) {
unset($tabs['reviews']);
return $tabs;
}
/** отключим отзывы */

 

 

 

 

 

убираем значок “скидка” со страниц витрины магазина

 

 

 

/** убираем значок "Скидка" со страницы витрина товаров 20 **/
remove_action('woocommerce_before_shop_loop_item_title', 'woocommerce_show_product_loop_sale_flash', 10, 3 );
/** убираем значок "Скидка" со страницы витрина товаров **/

 

 

 

 

 

убираем значок “скидка” со страницы карточки товара (отдельного товара)

 

 

 

 

 

/** убираем значок "Скидка" со страницы карточки (одного) товара - не работают **/
remove_action('woocommerce_before_single_product_summary', 'woocommerce_show_product_sale_flash', 10, 3 );
/** убираем значок "Скидка" со страницы карточки (одного) товара - не работают **/

 

 

 

 

 

уберём абсолютно со все страниц значок распродажа

 

 

 

 

 

/** уберёт на всех картинках "распродажа" со страниц **/
//add_filter('woocommerce_sale_flash', 'ats_custom_sale_flash', 10, 3);
function ats_custom_sale_flash($text, $post, $_product) {
return ' ';
}
/** убираем значок "распродажа" со страниц **/

 

 

 

 

Тут более подробно описано о том, как убрать значок Распродажа.

 

 

 

 

как сделать поля в форме заказа плагина WooCommerce необязательными?

 

 

 

 

 

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

 

 

 

/** ПОЛЯ В ФОРМЕ ЗАКАЗА НЕ ОБЯЗАТЕЛЬНЫЕ: АДРЕСА ТЕПЕРЬ ПРАВИЛЬНО делать так СОВРЕМЕННОЕ ПРАВИЛЬНОЕ РЕШЕНИЕ **/
// подключи в функции - $address_fields is passed via the filter!
add_filter( 'woocommerce_default_address_fields' , 'custom_ats_override_default_address_fields' );
function custom_ats_override_default_address_fields( $address_fields ) {
$address_fields['address_1']['required'] = false; // основной адреss
$address_fields['address_2']['required'] = false; // точный адрес
//$address_fields['city']['required'] = false;    // Населённый пункт
$address_fields['state']['required'] = false;     // Область/регион
$address_fields['postcode']['required'] = false;  // Почтовый индекс

return $address_fields;
}
/** ПОЛЯ В ФОРМЕ ЗАКАЗА НЕ ОБЯЗАТЕЛЬНЫЕ: адрес делать так **/

 

 

 

 

это регулировки “важности” данных для заполнения покупателем:

 

 

 

/** ПОЛЯ В ФОРМЕ ЗАКАЗА НЕ ОБЯЗАТЕЛЬНЫЕ - ИМЯ, фамилия, страна... ТАК **/
// подключи в функции - $address_fields is passed via the filter!
add_filter( 'woocommerce_checkout_fields' , 'custom_ats_override_default_last_name_fields' );
function custom_ats_override_default_last_name_fields( $fields ) {
//$fields['billing']['billing_first_name']['required'] = false; // имя
$fields['billing']['billing_last_name']['required'] = false;    // фамилия
//$fields['billing']['billing_country']['required'] = false;    // страна
$fields['billing']['billing_phone']['required'] = false;        // true - слелать обязательным телефон
//$fields['billing']['billing_email']['required'] = false;      // ЭЛ/п необязательный расскоментить
$fields['billing']['billing_city']['required'] = false;         // населённый пункт - город-область-регион

return $fields;
}
/** ПОЛЯ В ФОРМЕ ЗАКАЗА НЕ ОБЯЗАТЕЛЬНЫЕ **/

 

 

 

 

убираем ненужные (лишние на наш взгляд) поля при заказе товара Wooc

 

 

 

 

В коде – в комментариях – даны все необходимые пояснения.

 

 

 

/** УБИРАЕМ НЕНУЖНЫЕ ПОЛЯ ПРИ ЗАКАЗЕ **/
// в функции function - $fields is passed via the filter!
add_filter( 'woocommerce_checkout_fields' , 'custom_ats_override_checkout_fields' );
function custom_ats_override_checkout_fields( $fields ) {
//unset($fields['order']['order_comments']);     // МОЖНО ОТСОРТИРОВАТЬ КОММS - Примечание к заказу уходит вроде комментом... самые новые вверхуу: или убрать вообще поле можно, но надпись в этом случае останется
unset($fields['billing']['billing_company']);    // компания
//unset($fields['billing']['billing_country']);  // страна
unset($fields['billing']['billing_address_1']);  // адрес - номер дома и название улицы...
unset($fields['billing']['billing_address_2']);  // точный адрес кв. дом и т.д...
unset($fields['billing']['billing_postcode']);   // почтовый индекс
unset($fields['billing']['billing_state']);      // область/регион
unset($fields['billing']['billing_phone']);      // телефон
//unset($fields['billing']['billing_city']);     // населённый пункт
//unset($fields['billing']['billing_email']);    // эл/п
return $fields;
}
/** МОЖНО ОТСОРТИРОВАТЬ КОММЫ **/

 

 

 

код ниже, думаю, понятен… Это настройки ширины полей форм заполнения покупателем.

 

 

 

/** НАСТРОИМ ШИРИНУ ПОЛЕЙ **/
add_filter('woocommerce_billing_fields', 'custom_ats_woocommerce_billing_fields');
function custom_ats_woocommerce_billing_fields( $fields ) {
//$fields['billing_address_1']['class'] = array( 'form-row-wide' ); //Поле адреса шире
$fields['billing_email']['class'] = array( 'form-row-wide' );       //Поле ЭЛ/П шире
return $fields;
}
/** НАСТРОИМ ШИРИНУ ПОЛЕЙ **/

 

 

 

…и этот ясен.

 

 

 

/** УБРАТЬ КОЛИЧЕСТВО РЕЗУЛЬТАТОВ ТОВАРОВ с ОБНОВОЙ ПЛАГА актуально **/
function woocommerce_result_count() {
return;
}
/** УБРАТЬ КОЛИЧЕСТВО РЕЗУЛЬТАТОВ ТОВАРОВ **/

 

 

 

 

добавим кнопку “продолжить покупки” на странице оформления заказа

 

 

 

 

/** кнопка продолжить покупки - на странице оформления заказа **/
function checkout_more_buttons() {
echo '<a href="https://mihalica.ru/shop/"> ← вернуться к товарам?</a>';
}
add_action ('woocommerce_review_order_before_submit', 'checkout_more_buttons', 5);
/** кнопка продолжить покупки - на странице оформления заказа **/

 

 

 

 

заменим стандартный placeholder Wooc – картина если товар без изображения

 

 

 

 

Я, к примеру, на сайтах клиентов частенько меняю размер плейсхолдер – то есть, делаю тот, который наиболее целесообразнее для заказчика и помещаю в созданную папку… чтобы подгружалась моя картинка в соответствии с настоящим дизайном магазина…

Любой дизайн магаза можно и нужно подправить, а посему не всех устраивает стандартный размер подгружаемого заменителя фото для галереиОбновление woocommerce: пропал lightbox — галерея
Обновление woocommerce – пропал lightbox — галерея: если “сломалось” отображение галереи и у вас – решим это
: я в большинстве случае наблюдал, что картинки на витрине заметно отличаются размером от placeholder.

 

Короче, после прописки кода ниже в свой файл функций, решите проблему размера “пустого фота”…

 

 

 

/** Change the placeholder image - ЕСЛИ нужно изменить плейсхолдер - когда нет картинки товара *
add_filter('woocommerce_placeholder_img_src', 'custom_woocommerce_placeholder_img_src');
function custom_woocommerce_placeholder_img_src( $src ) {
$upload_dir = wp_upload_dir();
$uploads = untrailingslashit( $upload_dir['baseurl'] );
// replace with path to your image - заменим путь к изображению
$src = $uploads . '/woocom/mihsysy.png'; // можно создать папку внутри папки в uploads - словом, где удобнее...
return $src;
}
/** Change the placeholder image - ЕСЛИ нужно изменить плейсхолдер - когда нет картинки товара */

 

 

 

Можно использовать аригинальный, только слегка подправив… Аригинал находится по пути:

 

/wp-content/plugins/woocommerce/assets/images/placeholder.png

 

 

 

 

Если что не ясно – пишите в комментариях…

 

 

Различные коды буду дабовлять по мере поступления желаний…

 

 

 

 

как убрать кнопку «в корзину» в WooCommerce

 

 

 

Иногда в магагине на WooCommerce требуется убрать кнопку “в корзину” с той или иной страницы, сделать это возможно таким образом: (можно использовать условия WooC – условные теги)

 

 

//remove the button to cart
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); // страницы категорий
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); // страницы товара

 

 

Первый фильтр удаляет кнопку “Добавить в корзину” со страниц категорий товаров (каталогов).

…второй удаляет кнопку со страницы товара (конкретный товар).


подписка feedburner Online консультация по настройкам и созданию сайтов на WordPress

 

 


На этом занавес представления опускается…
…на рампы пыль печальная ложится…

 

 

 

Связка Contact Form 7 с плагином CF7 Google Sheet Connecto (отправим данные из формы связи в таблицы Google)

 

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©


  1. Статья полезная, Так как дубли могут сильно ударить по продвижению. Кроме того, закрывать страницы магазинов от дубля можно и с помощью wordpress Yoast плагина.

    Ответить - Sergey

    • Да! можно и при помощи плагина закрыть… но можно и кодом управиться: в некоторых случаях это ловчее)

      Ответить - Михаил