• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Важно! 50 полезных сниппетов для WooCommerce. Часть первая.

searchingman

Гуру
Местный
Ну есть сниппет 22. Установить минимальную сумму заказа.
Мне необходимо в корзине фиксить общее минимальное кол-во. Например меньше 10 шт. не продадим, т.к. минимальное кол-во заказа 15 шт. Спасибо!
В предыдущем примере по минимальной сумме попробуйте вместо
PHP:
if ( WC()->cart->total < $minimum ) {
использовать
PHP:
if ( WC()->cart->cart_contents_count < $minimum ) {
 

novov

Форумчанин
использовать
PHP:
if ( WC()->cart->cart_contents_count < $minimum ) {
Спасибо! Помогло!
 

Arseniy

Новичок
Здравствуйте! В Woocommerce можно устанавливать период, в который действует скидка на товар. Интересует, можно ли сделать, чтобы период устанавливался, например, сразу на целую категорию? А то руками очень долго, когда товаров много.
 

ilya_ku

Новичок
22. Установить минимальную сумму заказа.

Добрый день!
все работает, но предупредительная надпись в сниппете на английском, а магазин на русском
я попробовал поменять эту запись и написал по-русски, но на сайте она отображается вопросительными знаками
как быть?
 

searchingman

Гуру
Местный
22. Установить минимальную сумму заказа.

Добрый день!
все работает, но предупредительная надпись в сниппете на английском, а магазин на русском
я попробовал поменять эту запись и написал по-русски, но на сайте она отображается вопросительными знаками
как быть?
Если Вы правили файл-шаблон, то сохранять его нужно в кодировке UTF-8 без BOM, н-р, в редакторе notepad++.
 

sideways

Новичок
12. Вывести список категорий товаров woocommerce

У вас ошибка :)
12. Вывести список категорий товаров woocommerce
Там тег
Код:
<a href="..."> не закрыт

Вот, исправил:
Код:
$args = array(
    'number'     => $number,
    'orderby'    => $orderby,
    'order'      => $order,
    'hide_empty' => $hide_empty,
    'include'    => $ids
);

$product_categories = get_terms( 'product_cat', $args );

$count = count($product_categories);
if ( $count > 0 ){
     echo "<ul>";
     foreach ( $product_categories as $product_category ) {
       echo '<li><a href="' . get_term_link( $product_category ) . '">' . $product_category->name . '</a></li>';

     }
     echo "</ul>";
}
 

illya_avdeyuk

Новичок
Такая ситуация - есть магазин, товары в него грузим через Woocomerce Product csv import suite. При этом - часть товаров не наша, находится на других площадках, у нас только описание. В таких случаях механика обычно следующая - в описании товара ставится сообщение, что покупатель должен написать на указанный e-mail, чтобы узнать о наличии товара. магазин в это время смотрит по партнёрских площадках, есть ли где указанная позиция и отвечает покупателю. И всё бы ничего, но ведь остаётся кнопка Add to cart - как убрать её для выбранных товаров?
 

L&G

Новичок
Добрый вечер.
Использую сниппет №3 для удаления товарной категории. Но она все равно есть. Помогите, пожалуйста, решить проблему.

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() && ! is_user_logged_in() ) {
$q->set( 'tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'po'),
'operator' => 'NOT IN'
)));
}
remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
}
 

searchingman

Гуру
Местный
Добрый вечер.
Использую сниппет №3 для удаления товарной категории. Но она все равно есть. Помогите, пожалуйста, решить проблему.

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() && ! is_user_logged_in() ) {
$q->set( 'tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'po'),
'operator' => 'NOT IN'
)));
}
remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
}
Снипет сработает при условиях, что Вы
(Не находитесь в Админке) И (Находитесь на странице магазина, но не категории магазина) И (Не залогинены)
Когда проверяете работу снипета вышеуказанные условия выполняются?
 
Последнее редактирование:

L&G

Новичок
А что значит "Находитесь на странице магазина, но не категории магазина"?
 

searchingman

Гуру
Местный
А что значит "Находитесь на странице магазина, но не категории магазина"?
is_shop() - срабатывает, когда находитесь на странице магазина http://take.ms/VG08N , но не сработает , когда перейдете в категорию товаров.
Для категории товаров существует условие is_product_category() .
 

L&G

Новичок
У меня на странице магазина расположены категории товаров (см. вложение). Какое условие мне использовать. Ни то ни другое не отрабатывает.
 

Вложения

  • товары.png
    товары.png
    75.7 KB · Просмотры: 15

searchingman

Гуру
Местный
У меня на странице магазина расположены категории товаров (см. вложение). Какое условие мне использовать. Ни то ни другое не отрабатывает.
Уберите полностью все условия и посмотрите сработает или нет.
Если будет работать, тогда можно накладывать условия.
 

L&G

Новичок
Вроде бы понятно. Этот код отвечает за то, чтобы не показывать ТОВАРЫ конкретной категории. А мне надо скрыть саму КАТЕГОРИЮ из видимости из списка категорий на странице.
 

ВладБлад

Опытный
Друзья, кто-нибудь решил проблему с "Минимальная сумма заказа"?
1 проблема. Этот сниппет считает минимум ВМЕСТЕ с доставкой. Это неправильно и не логично.
2 проблема. Этот сниппет позволяет перейти на страницу checkout и заполнять поля доставки. Это неправильно и не логично.
Думаю, сниппет не должен давать переходить на страницу оплаты, а заменяться кнопкой "Вернуться к покупкам". На пудре ру толково сделано.
 

searchingman

Гуру
Местный
Думаю, сниппет не должен давать переходить на страницу оплаты, а заменяться кнопкой "Вернуться к покупкам". На пудре ру толково сделано.
А кнопка "Вернуться к покупкам" куда должна перенаправлять? На главную страницу магазина?
 
Сверху Снизу