Отображаем артикул на странице корзины в Woocommmerce
Добавление сниппета в файл functions.php вашей темы WordPress выведет артикул на странице корзины в вашем магазине:
add_filter( 'woocommerce_cart_item_name', 'add_sku_in_cart', 20, 3); function add_sku_in_cart( $title, $values, $cart_item_key ) { <div style="float:right;width:350px;margin:0 0 10px 15px;"> <div id="yandex_rtb_R-A-187781-2"></div> </div> $sku = $values['data']->get_sku(); return $sku ? $title . sprintf(" (Артикул: %s)", $sku) : $title; }
Добавляем имя пользователя, сделавшего заказа, в тему email-уведомления
Добавление сниппета в файл functions.php вашей темы WordPress выведет в теме уведомления о новом заказе для администратора имя пользователя, сделавшего заказ.
Например: Тема: Новый заказ от Devise Group — Номер заказа #444
add_filter('woocommerce_email_subject_new_order', 'change_admin_email_subject', 1, 2); function change_admin_email_subject( $subject, $order ) { global $woocommerce; $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES); $subject = sprintf( 'Новый заказ от (# %s) от %s %s - %s', $order->id, $order->billing_first_name, $order->billing_last_name, $order->order_date ); return $subject; }
Дополнительные товары на странице/в ряду
Добавление сниппета в файл functions.php вашей темы WordPress выведет сопутствующие товары (upsell) на страницу в 3 строки.
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 ); add_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_upsells', 15 ); if ( ! function_exists( 'woocommerce_output_upsells' ) ) { function woocommerce_output_upsells() { woocommerce_upsell_display( 3,3 ); // Выводим 3 товара в 3 строки } }
Добавить произвольное поле на вкладку «вариативный товар»
Добавление сниппета в файл functions.php вашей темы WordPress выведет произвольное поле на вкладку Вариативный товар
//Выводим поля add_action( 'woocommerce_product_after_variable_attributes', 'variable_fields', 10, 2 ); //JS для добавления полей для новых вариаций add_action( 'woocommerce_product_after_variable_attributes_js', 'variable_fields_js' ); //Сохраняем вариативные поля add_action( 'woocommerce_process_product_meta_variable', 'variable_fields_process', 10, 1 ); function variable_fields( $loop, $variation_data ) { ?> <tr> <td> <div> <label></label> <input type="text" size="5" name="my_custom_field[]" value=""/> </div> </td> </tr> <tr> <td> <div> <label></label> </div> </td> </tr> <?php } function variable_fields_process( $post_id ) { if (isset( $_POST['variable_sku'] ) ) : $variable_sku = $_POST['variable_sku']; $variable_post_id = $_POST['variable_post_id']; $variable_custom_field = $_POST['my_custom_field']; for ( $i = 0; $i < sizeof( $variable_sku ); $i++ ) : $variation_id = (int) $variable_post_id[$i]; if ( isset( $variable_custom_field[$i] ) ) { update_post_meta( $variation_id, '_my_custom_field', stripslashes( $variable_custom_field[$i] ) ); } endfor; endif; }
Выводим «Товар уже в корзине» вместо кнопки «Добавить в корзину»
Добавление сниппета в файл functions.php вашей темы WordPress позволяет вывести «Товар уже в корзине» вместо кнопки «Добавить в корзину», а также изменить текст «Добавить в корзину» на странице товара.
/** * Изменяем текст добавления в корзину на странице товара */ add_filter('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 __('Добавить в корзину', 'woocommerce'); } /** * Изменяем текст добавления в корзину на странице архивов товара */ add_filter( '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 __('Уже в корзине', 'woocommerce'); } } return __('Добавить в корзину', 'woocommerce'); }
Изменяем заголовок главной страницы магазина
Добавление сниппета в файл functions.php вашей темы WordPress позволит вам переименовать вашу главную страницу с Магазин на любое другое.
add_filter( 'woocommerce_page_title', 'woo_shop_page_title'); function woo_shop_page_title( $page_title ) { if( 'Магазин' == $page_title) { return "Новый заголовок страницы"; } }
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.