• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Woocommerce не работает файл archive-product.php?

wwe2012

Опытный
Привет, учусь делать магазин на Woocommerce.
В настройках WP я указал главную страницу Магазин(эту страницу сделал woocommerce) и в папке темы создал каталог woocommerce в нем создал файл archive-product.php и поместил туда код разметки, когда захожу на сайт у меня белый экран, то есть код который лежит в файле archive-product.php не отработал, отрабатывает страница index.php подскажите что я не так сделал, почему не отработла страницу archive-product.php
 

ADv

Гуру
Местный
Привет, учусь делать магазин на Woocommerce.
В настройках WP я указал главную страницу Магазин(эту страницу сделал woocommerce) и в папке темы создал каталог woocommerce в нем создал файл archive-product.php и поместил туда код разметки, когда захожу на сайт у меня белый экран, то есть код который лежит в файле archive-product.php не отработал, отрабатывает страница index.php подскажите что я не так сделал, почему не отработла страницу archive-product.php
Потому , что код для этого файла нужно брать в папке templates плагина WooCommerce, а уже после - изменять под свои нужды.
 

wwe2012

Опытный
Потому , что код для этого файла нужно брать в папке templates плагина WooCommerce, а уже после - изменять под свои нужды.
Да я только учусь работать с Woocommerce, не могу понять, по идее должно было отработать шаблон archive-product.php, я туда разметку поместил, а все равно не работает, то есть отработатывает шаблон index.php я делал как видео уроки.

P.S. Подскажите как я понимаю когда я делаю тему под Woocommerce, все файлы из templates плагина WooCommerce и посто под себя стили подгоняю ?
 

tuxfighter

Гуру
Местный

wwe2012

Опытный
никогда не смотрите эти видеоуроки.
мало того что их делают какие-то школьники, которые сами ни в чем не разбираются, так они все еще и устарели на полвека минимум.
пользуйтесь документацией
Я смотрю вот этот курс https://webformyself.com/woocommerc...tm_source=nashikursi&utm_campaign=woocommerce
 

wwe2012

Опытный
Я вставил код из
PHP:
<?php
/**
 * The Template for displaying product archives, including the main shop page which is a post type archive
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/archive-product.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see         https://docs.woocommerce.com/document/template-structure/
 * @author         WooThemes
 * @package     WooCommerce/Templates
 * @version     3.3.0
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

get_header( 'shop' );

/**
 * Hook: woocommerce_before_main_content.
 *
 * @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
 * @hooked woocommerce_breadcrumb - 20
 * @hooked WC_Structured_Data::generate_website_data() - 30
 */
do_action( 'woocommerce_before_main_content' );

?>
<header class="woocommerce-products-header">
    <?php if ( apply_filters( 'woocommerce_show_page_title', true ) ) : ?>
        <h1 class="woocommerce-products-header__title page-title"><?php woocommerce_page_title(); ?></h1>
    <?php endif; ?>

    <?php
    /**
     * Hook: woocommerce_archive_description.
     *
     * @hooked woocommerce_taxonomy_archive_description - 10
     * @hooked woocommerce_product_archive_description - 10
     */
    do_action( 'woocommerce_archive_description' );
    ?>
</header>
<?php

if ( have_posts() ) {

    /**
     * Hook: woocommerce_before_shop_loop.
     *
     * @hooked wc_print_notices - 10
     * @hooked woocommerce_result_count - 20
     * @hooked woocommerce_catalog_ordering - 30
     */
    do_action( 'woocommerce_before_shop_loop' );

    woocommerce_product_loop_start();

    if ( wc_get_loop_prop( 'total' ) ) {
        while ( have_posts() ) {
            the_post();

            /**
             * Hook: woocommerce_shop_loop.
             *
             * @hooked WC_Structured_Data::generate_product_data() - 10
             */
            do_action( 'woocommerce_shop_loop' );

            wc_get_template_part( 'content', 'product' );
        }
    }

    woocommerce_product_loop_end();

    /**
     * Hook: woocommerce_after_shop_loop.
     *
     * @hooked woocommerce_pagination - 10
     */
    do_action( 'woocommerce_after_shop_loop' );
} else {
    /**
     * Hook: woocommerce_no_products_found.
     *
     * @hooked wc_no_products_found - 10
     */
    do_action( 'woocommerce_no_products_found' );
}

/**
 * Hook: woocommerce_after_main_content.
 *
 * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content)
 */
do_action( 'woocommerce_after_main_content' );

/**
 * Hook: woocommerce_sidebar.
 *
 * @hooked woocommerce_get_sidebar - 10
 */
do_action( 'woocommerce_sidebar' );

get_footer( 'shop' );
Все равно белый экран и отроботывает страница index.php темы, подскажите почему страница магазина так и не заработала ?
 

tuxfighter

Гуру
Местный
index.php темы работает тогда, когда тема не находит подходящего шаблона для отображения.
а сама ваша тема поддерживает ВУУ?
 

wwe2012

Опытный
Прописал код
PHP:
add_action( 'after_setup_theme', 'woocommerce_support' );
function woocommerce_support() {
    add_theme_support( 'woocommerce' );
}
и все заработало
 

kontaktor6000

Новичок
Не знаю, я взял готовую верстку и с ноля ставлю на Woocommerce
index.php темы работает тогда, когда тема не находит подходящего шаблона для отображения.
а сама ваша тема поддерживает ВУУ?

Столкнулся с той же проблемой, что и wwe2012 -
1. установил woo
2. наполнил товаром (на стандартной вордпрессовской теме все товары выводится в браузер)
3. в папке themes создал папку для будущей темы - mywootheme
4. добавил файлы style.css, functions.css, index.css, а также папку woocomerce, в которую скопировал файл archive-product.php из самого плагина.
5. активировал тему mywootheme и "любуюсь" белым экраном.

Подскажите, в чем может быть загвоздка. Я надеялся, что товары все равно будут выводиться, ведь файл плагина доступен в моей теме.

п.с. - при переключении на любую из стандартных тем товары выводятся на страницу.
 

tuxfighter

Гуру
Местный
а в functions.php и index.php прописана поддержка woocommerce?

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

kontaktor6000

Новичок
а в functions.php и index.php прописана поддержка woocommerce?

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

function.php и index.php пустые.

в function.php прописывал такой код:
add_action( 'after_setup_theme', 'woocommerce_support' );
function woocommerce_support() {
add_theme_support( 'mywootheme' );
}
, но это не помогло.
В документации к woocommerce нашел способ, основанный на переименовании page.php в woocommerce.php с небольшим редактированием, но у меня папка с темой пока не наполнена файлами page, single и т.д.
Вопрос в другом - стили то понятно почему не подхватываются - их нет /хотя стили то тоже должны подключиться те, что оформляют по умолчанию сам woocommerce /, но вот почему не подхватывается контент из файла archive-product.php ? почему не находится в папке с темой конкретный файл, находится тот, который должен находится в самую последнюю очередь - index.php ?


по поводу нужды... не могу сказать однозначно.
на сайте wp написано:

Но зачем вам создавать свою собственную тему? Вот в чём главный вопрос.
  • Это возможность узнать больше о CSS, HTML/XHTML и PHP.
  • Это возможность показать свои умения в CSS, HTML/XHTML и PHP.
  • Это возможность творить.
  • Это весело (по большей части).
  • Если вы предоставили свою тему в общественный доступ, то вы получите удовлетворение от того, что поделились и дали что-то взамен Сообществу WordPress (можете похвастаться!)
Меня подкупил четвертый пункт, но пока мое веселье заключается в том, что я пялюсь в белый экран и читаю форумы.

******************

подскажите, что нужно прописывать в пустых файлах index.php и functions.php ?
не прошу чтобы вы расписывали, но, быть может есть хорошая ссылка?
 
Сверху Снизу