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

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

llelikys

Новичок
Какую тему используете?

Покупную.

Скажите, а есть возможность использовать это (по этим параметрам) на странице карточки товара?
Точнее так сформулирую вопрос - проще сделать (наверное в моем случае) тогда в карточке товара, то есть сделаю условие через php, единственное не знаю какие параметры определяют количество товара. Есть ли такие, которые, которые это делают и к которым можно привязать эти условия?
 

searchingman

Гуру
Местный
Покупную.

Скажите, а есть возможность использовать это (по этим параметрам) на странице карточки товара?
Точнее так сформулирую вопрос - проще сделать (наверное в моем случае) тогда в карточке товара, то есть сделаю условие через php, единственное не знаю какие параметры определяют количество товара. Есть ли такие, которые, которые это делают и к которым можно привязать эти условия?
Не совсем понял о чем Вы? Приведенный выше код и так выводит информацию в "карточке" товара и он на php.
Возможно Вы хотите поправить шаблоны карточки товара, которые активно используют платные премиум темы, тогда вот список шаблонов.
 

llelikys

Новичок
Не совсем понял о чем Вы? Приведенный выше код и так выводит информацию в "карточке" товара и он на php.
Возможно Вы хотите поправить шаблоны карточки товара, которые активно используют платные премиум темы, тогда вот список шаблонов.

Нет нет, я про параметр, который сообщает сколько же на складе товара в цифровом выражении.
То есть, в приведенном вами коде оперирует "total_stock", который вы задаете через
$total_stock = $product->get_total_stock();

А есть ли "готовая переменная", которая говорит сколько же сейчас на складе данного товара , чтобы, например, я ее в карточке товара попробовал прописать с условиями?
 

Kollaps

Новичок
Добрый день.
Подскажите пожалуйста, как добавить кнопку "купить" или "добавить в корзину" к карточкам товаров в списке? То есть, чтобы не нужно было открывать карточку, чтобы добавить товар в корзину.
Заранее спасибо.
 

Stork.71

Гуру
Местный
что у Вас за тема? По умолчанию кнопка есть, тут наоборот многие ее убрать стараются.
 

sergproject

Новичок
Доброго дня! подскажите куда смотреть..добавлял я вывод дополнительного поля(cf_short_description) после цены товара. Заполнял это поле в редакторе товара в разделе Дополнительные поля. Но сейчас просто нет такого раздела в редакторе товаров. пропал куда-то а очень нужен(

upd
и теперь редактируя ранее созданные товары - раздела Дополнительные поля - нет. а информация в них забита и отображается на сайте.
 
Последнее редактирование:

Stork.71

Гуру
Местный
На странице редактирования товара сверху справа выпадает меню "Настройки экрана" (рядом еще "Помощь").
З.Ы.: Вам не кажется, что это немного оффтоп?
 

HirurgOrtoped

Новичок
Вы в конец этого файлика вставляете и не работает? А тема вообще эта активна или другая? Это стандартная TwentyTen вроде, а она насколько мне помнится не оптимизирована под Woocommerce
Все таки я решил проблему вывода товара, если так вдруг интересно пришло решение не так давно, все зависит от версии вукомерца, а так все совместимо оказалось.
 

intman

Форумчанин
Вот в теме SG Window Заголовком главной страницы является слово "Магазин." Здесь описано как поменять код. А как изменить само название, место его распложения? Тема установлена здесь
 

LEGION

Новичок
Добрый день/вечер/ночь :)
У меня проблема:
тема Store, при при попытке добавить код замены текста на кнопке "Товар уже в корзине...." вылетает весь сайт с надписью

Fatal error
: Cannot redeclare woo_custom_cart_button_text() (previously declared in /home/civhblkw/public_html/wp-content/themes/store/functions.php:227) in /home/public_html/wp-content/themes/store/functions.php on line 254

WooCommerce Версия 2.5.5
Тема Store Версия: 1.0.0.4
WP Версия 4.5.1

как я понял, перечитав все комментарии по этой теме, нужно просто скопировать код (полностью) с окна и вставить в редакторе Функции темы (functions.php) после всего что там есть. так?
 

John93

Новичок
В последних версиях WooCommerce изменились названия фильтров.
Поэтому для WooCommerce 2.4.5 правильно будет так.
PHP:
/**
* Изменить текст кнопки "Добавить в корзину", если товар добавлен на странице товара
*/
add_filter('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

function woo_custom_cart_button_text() {

    global $woocommerce;
    foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) {
        $_product = $values['data'];
        if( get_the_ID() == $_product->id ) {
            return 'Уже в корзине. Добавить?';
        }
    }
    return __('Add to cart', 'woocommerce');
}  

/**
* Изменить текст кнопки "Добавить в корзину", если товар добавлен на странице каталога
*/
add_filter( 'woocommerce_product_add_to_cart_text', 'woo_archive_custom_cart_button_text' );

function woo_archive_custom_cart_button_text() {

    global $woocommerce;
    foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) {
        $_product = $values['data'];
        if( get_the_ID() == $_product->id ) {
            return 'Уже в корзине. Добавить?';
        }
    }
    return __('Add to cart', 'woocommerce');
}

еще если товара нет в наличии можно изменить название текста:
PHP:
/** 
* Изменить текст кнопки "Добавить в корзину", если товар добавлен на странице товара 
*/ 
add_filter('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text'); 

function woo_custom_cart_button_text() { 

    global $woocommerce; 
    foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) { 
        $_product = $values['data']; 
        if( get_the_ID() == $_product->id ) { 
            return __('Уже в корзине', 'woocommerce'); 
        } 
    } 
    return __('Add to cart', 'woocommerce'); 
}

/** 
* Изменить текст кнопки "Добавить в корзину", если товар добавлен на странице каталога 
*/ 
add_filter('woocommerce_product_add_to_cart_text', 'woo_archive_custom_cart_button_text'); 

function woo_archive_custom_cart_button_text() { 

    global $woocommerce; 
    global $product;

    foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) { 
        $_product = $values['data']; 
        if( get_the_ID() == $_product->id ) { 
            return __('Уже в корзине', 'woocommerce'); 
        } 
    } 
    if ( $product->is_in_stock() ) {
        return __('Add to cart', 'woocommerce'); 
    } else {
        return __( 'Read More', 'woocommerce' );
    }
}
 
  • Like
Реакции: D&B

Bratec Krolik

Новичок
Кстати, сниппет № 16. Изменить электронный адрес отправителя в поле «от кого»
полностью выглядит так:

PHP:
function woo_custom_wp_mail_from() {
        global $woocommerce;
        return html_entity_decode( 'your@email.com' );
}
add_filter( 'wp_mail_from', 'woo_custom_wp_mail_from', 99 );

Но я бы хотел сделать так, чтобы в качестве электронного адреса отправителя передавался e-mail заказчика, который он сам ввел в поле.
Пытался вот так:

PHP:
function woo_custom_wp_mail_from($order) {
global $woocommerce;
return $order->billing_email;
}
add_filter( 'wp_mail_from', 'woo_custom_wp_mail_from', 99 );

Но не работает... Подскажите, как мне это сделать?
 

pashatank

Новичок
Доброго дня! Подскажите пожалуйста, как сделать отображение подкатегорий списком (желательно выпадающим)?
 

Stork.71

Гуру
Местный
Доброго дня! Подскажите пожалуйста, как сделать отображение подкатегорий списком (желательно выпадающим)?
То есть на странице сначала подкатегории списком, а потом товары плиткой? Или что Вы имеете в виду, уточните пожалуйста. Желательно со скриншотами. И наверное лучше в новой теме, здесь идет обсуждение приведенных в первом сообщении сниппетов.
 

pashatank

Новичок
То есть на странице сначала подкатегории списком, а потом товары плиткой? Или что Вы имеете в виду, уточните пожалуйста. Желательно со скриншотами. И наверное лучше в новой теме, здесь идет обсуждение приведенных в первом сообщении сниппетов.
да, примерно так, только товары желательно тоже списком, но с картинками. спасибо за совет! тему создал: https://wpcommerce.ru/threads/kak-otobrazit-podkategorii-vypadajuschim-spiskom.3758/
 

Stork.71

Гуру
Местный
Кстати, сниппет № 16. Изменить электронный адрес отправителя в поле «от кого»
полностью выглядит так:

PHP:
function woo_custom_wp_mail_from() {
        global $woocommerce;
        return html_entity_decode( 'your@email.com' );
}
add_filter( 'wp_mail_from', 'woo_custom_wp_mail_from', 99 );

Но я бы хотел сделать так, чтобы в качестве электронного адреса отправителя передавался e-mail заказчика, который он сам ввел в поле.
Пытался вот так:

PHP:
function woo_custom_wp_mail_from($order) {
global $woocommerce;
return $order->billing_email;
}
add_filter( 'wp_mail_from', 'woo_custom_wp_mail_from', 99 );

Но не работает... Подскажите, как мне это сделать?

Интересная мысль. Было бы удобноотвечать на e-mail с заказом: просто писать в поле ответа, не вытягивая адрес назначения из текста заказа!
Я не специалист в php, но может надо так:
PHP:
function woo_custom_wp_mail_from($order) {
global $woocommerce;
$order->billing_email;
return $order;
}
add_filter( 'wp_mail_from', 'woo_custom_wp_mail_from', 99 );
попробовать возможности сейчас нет. Если кто попобует - отпишитесь пожалуйста о работоспособности!
 
Сверху Снизу