Код, который полезен для работы с магазином на WooCommerce, сегодня и рассмотрим (я его собрал из всех своих статей блога в одно место). Вкратце дам комментарии к некоторому описанному в статье коду, ибо говорить по нынешнему поводу вряд ли много нужно, к тому же некоторые примеры кода для WooCommerce здорово снабжены собственными комментариями, так что…
Как организовать на страницах отображения товаров, исключение ненужных виджетов, отключение стилей (CSS) и перенос в корень темы (так правильнее во всех отношениях), уберём из “шапки” магазина ненужные (в некоторых случаях) метатеги, спрячем “похожие товары”, а также зададим количество отображения товаров на главной странице или в каталоге… переименуем (или добавим по своему усмотрению) табы на отдельной страничке товаров…
…и многое другое, что необходимо знать в работе с плагином Wooc:
В статье, для некотрых кодов, исправим ошибки по новым версиям php – коды будут работать примерно от php 5.4 и, конечно же, в php 8.2 – задавайте вопросы, если что:
- как исключить в виджете Wooc отображение категории “Без Рубрики”
- закрываем страницы магазина от поисковиков
- закрываем страницы сортировки товаров от поисковиков – GET запросы
- WOOC – УБРАТЬ мета ROBOTS
- как убрать из шапки магазина на WooCommerce метатеги
- спрячем количество похожих товаров
- задаём количество похожих товаров
- переименуем табы WooCommerce на своё усмотрение
- атрибуты табов wooc
- изменяем местоположение табов wooc
- отключаем стили CSS плагина WOOCOMMERCE
- подключаем стили CSS из шаблона
- меняем h3 tetle товара на витрине магазина
- ПЕРЕНОС отработки тега h1 ИМЯ МАГАЗИНА
- обновление woocommerce 3.0.0
- число товаров, число колонок на странице товаров магазина WooCommerce
- исправлнеие ошибок для версии php 8
- как отключить отзывы (комментарии) – в магазине на WooCommerce
- убираем значок “скидка” со страниц витрины магазина
- убираем значок “скидка” со страницы карточки товара (отдельного товара)
- уберём абсолютно со все страниц значок распродажа
- как сделать поля в форме заказа плагина WooCommerce необязательными?
- убираем ненужные (лишние на наш взгляд) поля при заказе товара Wooc
- добавим кнопку “продолжить покупки” на странице оформления заказа
- заменим стандартный placeholder Wooc – картина если товар без изображения
- как убрать кнопку «в корзину» в WooCommerce
как исключить в виджете 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_robots
– noindex,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; } /** перемена мест ТАБОВ */
отключаем стили 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…
ПЕРЕНОС отработки тега 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 — галерея: если “сломалось” отображение галереи и у вас – решим это: я в большинстве случае наблюдал, что картинки на витрине заметно отличаются размером от 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 ); // страницы товара
Первый фильтр удаляет кнопку “Добавить в корзину” со страниц категорий товаров (каталогов).
…второй удаляет кнопку со страницы товара (конкретный товар).
Online консультация по настройкам и созданию сайтов на WordPress
На этом занавес представления опускается…
…на рампы пыль печальная ложится…
Связка Contact Form 7 с плагином CF7 Google Sheet Connecto (отправим данные из формы связи в таблицы Google)
mihalica.ru !
Статья полезная, Так как дубли могут сильно ударить по продвижению. Кроме того, закрывать страницы магазинов от дубля можно и с помощью wordpress Yoast плагина.
Да! можно и при помощи плагина закрыть… но можно и кодом управиться: в некоторых случаях это ловчее)