Задавайте питання щодо курсів WordPress

WooCommerce як вивести новинки на картці товару

Є ще одне завдання для просування інтернет-магазину на WooCommerce корисна для ваших клієнтів. Дуже часто мені приходять замовлення на виведення нових товарів усередині картки товару поряд із схожими товарами. Думаю це завдання часто не тільки в мене, а ось у стандартних темах для WooCommerce цього не передбачено. Тому я вирішив сьогодні трохи відкрити завісу та описати процес створення блоку з новими товарами у картці товару.

Також вам буде цікава моя попередня стаття із серії уроків WooCommerce “WooCommerce як вивести аукціонний товар зі знижкою у картці товару“.

Як і в попередньому уроці для розробки цього блоку, ми візьмемо існуючий блок з висновком схожих статей.. Все робитимемо по порядку.

  1. Знаходимо файл шаблону для картки товару, зазвичай він знаходиться в папці /wp-content/themes/{ім'я вашої теми}/woocommerce/content-single-product.php.
  2. У нижній частині ви знайдете підключення файлу схожих товарів виглядає він так:
    <?php if(etheme_get_option('show_related')) woocommerce_output_related_products(); ?>

    прямо під цим рядком прописуємо підключення нового файлу, в якому ми додамо код для виведення нових товарів (новинок).

    <?php require_once( завершальний слеш( get_template_directory() ). 'woocommerce/single-product/product-new.php' ); ?>
  3. Тепер, коли шлях для підключення файлу ми прописали, необхідно створити сам файл. Створюємо файл на шляху /wp-content/themes/{ім'я вашої теми}/woocommerce/single-product/product-new.php
  4. У створений файл product-new.php копіюємо вміст файлу related.php який знаходиться на шляху /wp-content/themes/{ім'я вашої теми}/woocommerce/single-product/related.php.
  5. Перевірте, як виводяться товари в картці товару. Якщо все зроблено правильно, то у вас буде 2 блоку схожих товарів.
  6. У файлі product-new.php змініть назву блоку на “Новинки в інтернет магазині”.
  7. Далі для виведення нових товарів нам необхідно змінити масив з параметрами для функції apply_filters( ‘woocommerce_related_products_args’, array( … ).
  8. Нижче я наведу приклад як це зроблено у мене.
<?php
/**
 * Related Products
 *
 * @author 		WooThemes
 * @package 	WooCommerce/Templates
 * @version     3.0.0
 */

if ( ! Визначені( 'ABSPATH' ) ) вийти; // Exit if accessed directly

global $product, $woocommerce_loop;

$posts_per_page = 8;

// updated for woocommerce v3.0
$related = array_map( 'absint', значення_масиву( wc_get_related_products( $продукт->get_id(), $posts_per_page ) ) );

if ( sizeof( $пов'язані ) == 0 ) повернення;

луна '<h2 клас="продукти-назва"><проліт>Новинки в інтернет магазині</проліт></h2>';

$args = apply_filters( 'woocommerce_related_products_args', array(
	'post_type' => "продукт",
	'ignore_sticky_posts' => 1,
	'no_found_rows' => 1,
	'posts_per_page' => $posts_per_page,
	'orderby' => array('meta_value' => "ASC", 'дата' => "DESC"),
	//'post__in' => $пов'язані,
	'post__not_in' => array( $продукт->id )
) );

$slider_args = array(
	//'title' => esc_html__( 'Related Products', 'xstore' )
);

etheme_create_slider( $args, $slider_args );

wp_reset_postdata();

Код можна доопрацювати та вивести нові товари саме з батьківської для товару категорії, для цього необхідно доопрацювати код небагато.

$args = apply_filters( 'woocommerce_related_products_args', array(
	'post_type' => "продукт",
	'ignore_sticky_posts' => 1,
	'no_found_rows' => 1,
	'posts_per_page' => $posts_per_page,
	'orderby' => array('meta_value' => "ASC", 'дата' => "DESC"),
	//'post__in' => $пов'язані,
	'post__not_in' => array( $продукт->id ),
	'tax_query' => array(
                'відношення' => "АБО",
                array(
                    'таксономія' => 'product_cat',
                    'поле' => 'id',
                    'терміни' => array($term_cat_id)
                )
            )
) );

Якщо у вас не вийшло, пишіть у коментарях питання, постараюся на них відповісти.

Цей код для виведення аукціонних товарів був протестований з версією WooCommerc 3.0, у меншій або старшій версії код може трохи змінюватися.


Купить хостинг WordPress
Репетитор по wordpress
Послуги репетитора онлайн. Список курсів, які я веду
  • Базовий курс з веб-дизайну;
  • Верстка сайтів;
  • Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
  • Розробка сайтів на PHP.
Докладніше читайте на сторінці репетитор по WordPress
*/

Ніколаєнко Максим

Директор веб-студии ProGrafika. Займаюсь розробкою, дизайном та просуванням веб-сайтів. Завжди радий новим читачам блогу та добрим клієнтам.


Вам також може сподобатися...

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються дані ваших коментарів.

Шаблони для WordPress
Найкращий хостинг в Україні
Стабільний хостинг для Drupal