• Всем привет. Написал верстку для сайта и пытаюсь к нему подключить Вукоммерс. В своей теме я создал папку woocommerce, в ней создал папку templates и добавил в папку файл single-product.php, чтобы переопределить шаблон карточки товара.

    Также добавил в functions.php
    add_theme_support( 'woocommerce' );

    и добавил

    add_filter( 'wc_get_template_part', 'use_custom_single_product_template', 10, 3 );
    	function use_custom_single_product_template( $template, $slug, $name ) {
    		if ( $slug === 'content' && $name === 'single-product' ) {
    			$template = get_template_directory() . '/woocommerce/templates/single-product.php';
    		}
    		return $template;
    	}

    Чтобы работала моя html разметка карточки товара, а не вукоммерс. И карточка товара работает так, как я и ожидал.

    Теперь пытаюсь подключить корзину, но ничего не получается. В шаблоне корзины самого Вукоммерс написано:
    This template can be overridden by copying it to yourtheme/woocommerce/cart/cart.php

    Я сделал ровно, как написано: в своей теме создал папки /woocommerce/cart/ и положил внутрь cart.php.
    В настройках Вукоммерс во вкладке «Дополнительное» указал страницу корзины. Также добавил фильтр, чтобы указать Вукоммерс, что я переопределяю шиблон:

    add_filter( 'wc_get_template_part', 'use_custom_cart_template', 10, 3 );
    	function use_custom_cart_template( $template, $slug, $name ) {
    		if ( $slug === 'cart' && $name === 'cart' ) {
    			$template = get_template_directory() . '/woocommerce/cart/cart.php';
    		}
    		return $template;
    	}

    Но в итоге при переходе на страницу корзины, контента никакого нет. Она пустая.

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

    Но если я кидаю файл cart.php в корень, делаю его шаблоном:
    /**
    * Template Name: Cart page
    **/
    И в настройках страницы указываю шаблон Cart page, то в корзине контент появляется.

    В общем, сам вопрос: почему не получается подключить корзину к сайту? Даже, если не перезаписывать файл cart.php, то ничего не работает. Я видимо где-то упустил подключение корзины к теме. Но где?

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Дополнение: если подключать другие темы, например, Storefront, то корзина работает

    Проблему решил. Сделал свой cart.php, в functions.php указал его как шаблон, и назначил этот файл шаблоном в настройках страницы «Корзина».

    function custom_cart_template( $templates ) {

            $templates[‘woocommerce/cart/cart.php’] = ‘Cart’;

            return $templates;

        }

    add_filter( ‘theme_page_templates’, ‘custom_cart_template’ );

    Проблему решил.

    ну вот на этом и закроем.. а то пыльный шлейф потянулся уже…

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Не работает страница корзины вукоммерс» закрыта для новых ответов.