В этой статье, я хочу поделится с вами практическими примерами работы с 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)