Пачка полезных сниппетов для WooCommerce. Часть 9

Как добавить строку «Артикул» на странице магазина

В зависимости от задач, поставленных в процессе разработки магазина, вам может понадобиться добавить строку с полем Артикул в режиме просмотра товарных категорий. Для этого нужно всего лишь добавить следующий код в файл functions.php вашей темы или в плагин для сайта WordPress:

add_action( 'woocommerce_after_shop_loop_item_title', 'shop_sku' );
function shop_sku(){
global $product;
echo '<span itemprop="productID" class="sku">Артикул: ' . $product->sku . '</span>';
}

Добавляем произвольный текст перед ценой

Простой способ добавить собственный текст перед ценой в магазине, который предполагает добавление только лишь правила CSS:

.product-summary span.amount::before {
    content: 'Цена: ';
    color: #bbb;
}

Картинка простого товара в сгруппированном товаре

В WooCommerce предусмотрена возможность добавления сгруппированного товара на основе простых товаров в магазине. Код ниже выведет кликабельные картинки простых товаров. Добавляем его в файл functions.php темы.

<?php
add_action( 'woocommerce_grouped_product_list_before_price', 'woocommerce_grouped_product_thumbnail' );
function woocommerce_grouped_product_thumbnail( $product ) {
    $attachment_id = get_post_meta( $product->id, '_thumbnail_id', true );
    $large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'large' );
    ?>
    <td class="label">
        <a href="<?php echo $large_image_url[0];?>" title="<?php the_title_attribute(''); ?>"><?php the_post_thumbnail( 'thumbnail' );  ?></a>
    </td>
    <?php
}

Проверяем, находится ли товар в определенной товарной категории в карточке товара Woocommerce

Нижеприведенный код позволит добавить проверку нахождения товара в определенной категории:

<?php
global $post;
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ) $categories[] = $term->slug;

if ( in_array( 'audio', $categories ) ) {
  echo 'В категории Аудио';
  woocommerce_get_template_part( 'content', 'single-product' );
} elseif ( in_array( 'elektro', $categories ) ) {
  echo 'В категории Электро';
  woocommerce_get_template_part( 'content', 'single-product' );
} else {
  echo 'другой текст';
}

Редактируем страницу «Мой аккаунт» в WooCommerce 2.6.x

В WooCommerce версии 2.6.x изменился внешний вид личного кабинета магазина. Вам может понадобиться возможность ее модифицировать.

1. Для изменения текста «Консоль» в functions.php своей темы вставляем следующий код:

function my_woocommerce_account_menu_items($items) {
    $items['dashboard'] = "Моя консоль";
    return $items;
}
add_filter( 'woocommerce_account_menu_items', 'my_woocommerce_account_menu_items', 10 );

2. Для удаления любой вкладки достаточно в административной части удалить нужные «Эндпоинты Моего аккаунта» (WooCommerce -> Настройки -> Аккаунты) или же в файл functions.php свой темы вставить код, при этом раскомментировав то, что нужно скрыть.

function my_woocommerce_account_menu_items($items) {
    // unset($items['dashboard']);         // убрать вкладку Консоль
    // unset($items['orders']);             // убрать вкладку Заказы
    // unset($items['downloads']);         // убрать вкладку Загрузки
    // unset($items['edit-address']);         // убрать вкладку Адреса
    // unset($items['edit-account']);         // убрать вкладку Детали учетной записи
    // unset($items['customer-logout']);     // убрать вкладку Выйти
    return $items;
}

add_filter( 'woocommerce_account_menu_items', 'my_woocommerce_account_menu_items', 10 );

Убираем заголовок категорий на главной странице магазина

Код ниже позволит вам скрыть название категорий на главной странице магазина. Добавляем код в файл functions.php темы.

// убрать заголовок категорий на главной странице магазина
function my_woocommerce_shop_loop_subcategory_title($category) {
    if (is_shop()) {
        remove_action( 'woocommerce_shop_loop_subcategory_title', 'woocommerce_template_loop_category_title', 10 );
    }
    return $category;
}
add_action( 'woocommerce_shop_loop_subcategory_title', 'my_woocommerce_shop_loop_subcategory_title', 5 );

Как назначить автора товару в WooСommerce

Если у вас возникла необходимость по какой-либо причине назначить каждому товару автора, то код ниже позволит вам это сделать.

add_action('init', 'wpse_74054_add_author_woocommerce', 999 );

function wpse_74054_add_author_woocommerce() {
    add_post_type_support( 'product', 'author' );
}

HEnjC[1]

Если вы начинаете разбираться с WooCommerce, то не забудьте посетить нашу рубрику WooCommerce, где мы публикуем материалы специально по тематике магазинов на этой платформе.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

VN:F [1.9.22_1171]
Rating: 4.3/5 (8 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top