В этой статье, я хочу поделится с вами практическими примерами работы с WooCommerce. Давайте перейдем сразу к делу.
В содержании статьи, находятся задачи с которыми придется столкнуться разработчику, если он будет программировать верстку(html) под WooCommerce.
Содержание
- 1. Работа с корзиной.
- 1.1. Добавление товара в корзину.
- 1.2. Получаем количество товаров в корзине.
- 1.3. Получаем ссылку на страницу корзины.
- 1.4. Как как узнать есть ли товар в корзине по его ИД?
- 2. Работа с товаром.
- 2.1 Получаем стоимость товара.
- 2.2. Получаем артикул товара.
- 2.3. Получаем изображения галереи товара.
- 2.4. Настройка символа валюты.
- 3. Работа со страницей заказа.
- 3.1. Настройка полей.
- 3.2. Добавляем чекбокс "согласен на обработку персональных данных", вместо стандартного текста.
1. Работа с корзиной.
1.1. Добавление товара в корзину.
Здесь все просто, нужно передать ИД товара.
global $woocommerce; $woocommerce->cart->add_to_cart($productID);
1.2. Получаем количество товаров в корзине.
echo WC()->cart->get_cart_contents_count();
Данный метод вернет количество товаров в корзине.
1.3. Получаем ссылку на страницу корзины.
echo wc_get_cart_url();
Данный метод возвращает ссылку на страницу корзины, которая указывается в настройках WooCommerce.
1.4. Как как узнать есть ли товар в корзине по его ИД?
function sp_in_cart($productID){ global $woocommerce; foreach($woocommerce->cart->get_cart() as $key => $value ) { if(isset($value['product_id']) && !empty($value['product_id'])){ if($productID == $value['product_id']){ return true; } } else { return false; } } }
С помощью этой функции мы можем проверить, есть ли определенный товар в корзине.
2. Работа с товаром.
2.1 Получаем стоимость товара.
Тут так же все просто как и с добавление товара. Просто нужно указать его ИД.
$product = new WC_Product($productID); echo $product->get_price();
2.2. Получаем артикул товара.
Так же передаем ИД товара.
$product = new WC_Product($productID); echo $product->get_sku();
2.3. Получаем изображения галереи товара.
Указываем ИД товара и получаем массив из ИД изображений. А дальше дело техники 🙂 Можно перебрать данный массив через цикл foreach и использовать wp_get_attachment_url для получения ссылки на изображение.
$product = new WC_Product($productID); $attachmentIDs = $product->get_gallery_image_IDs();
2.4. Настройка символа валюты.
add_filter('woocommerce_currency_symbol', 'sp_currency_symbol', 10, 2); function sp_currency_symbol( $currency_symbol, $currency ) { switch( $currency ) { case 'RUB': $currency_symbol = ' руб.'; break; } return $currency_symbol; }
3. Работа со страницей заказа.
3.1. Настройка полей.
Можно использовать хуки WooCommerce. Но лучше всего с этим справится плагин Checkout Field Editor for WooCommerce.
С его помощью можно отключить ненужные поля при оформлении заказа.
3.2. Добавляем чекбок "согласен на обработку персональных данных", вместо стандартного текста.
В стандартном функционал WooCommerce нет чекбокса "согласен на обработку персональных данных", там просто текст. Но согласно 152-ФЗ, должен быть чекбокс. Данный код, вам в помощь.
function sp_add_checkout_privacy_policy() { woocommerce_form_field( 'privacy_policy', array( 'type' => 'checkbox', 'class' => array('form-row privacy'), 'label_class' => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'), 'input_class' => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'), 'required' => true, 'default' => 1, 'label' => 'Ваш текст', )); } function sp_not_approved_privacy() { if ( ! (int) isset( $_POST['privacy_policy'] ) ) { wc_add_notice( __( 'Ваш текст' ), 'error' ); } } add_action( 'woocommerce_review_order_before_submit', 'sp_add_checkout_privacy_policy', 9 ); add_action( 'woocommerce_checkout_process', 'sp_not_approved_privacy' );
Комментариев (0)