Иногда есть необходимость создание каталога из блога WordPress. Да, у WordPress есть неплохие модули каталоги,но с ними нужно заново вносить записи или же переписывать их в другую таблицу Mysql. Поэтому я делаю каталог без них.
Для того, что наш блог стал похожим на каталог, нам понадобится:
- необходимо у каждой рубрики сделать вывод описания,
- добавить картинку или превью для подрубрик, чтобы наши рубрики были похожи на категории магазина-каталога.
- при входе в рубрику отобразить подрубрики,
- Добавлить цены при необходимости.
- Добавить кнопки оформление заказа.
Для начала установим необходимые плагины WordPress. Для добавления изображений к рубрикам мне было удобно использовать модуль Taxonomy Images. Для добавления редактора рубрикам можно использовать модуль Rich Text Tags, Categories, and Taxonomies. С установкой этих двух модулей можно считать первые два пункта практически выполненными.
Поправим шаблон отвечающий за вывод страницы с рубрикой, например archive.php. В моем случае получилось так:
<?php /* вывод описания категории, если есть $category_description = category_description(); if ( ! empty( $category_description ) ) echo '<div class="archive-meta">' . $category_description . '</div>'; /* вывод списка рубрик */ //получаем номер родительской категории $numcat = get_query_var('cat'); $args = array( 'parent' => $numcat, 'hide_empty' => 0, 'exclude' => '', 'number' => '0', 'taxonomy' => 'category', 'pad_counts' => true ); if ( get_category_children($numcat) > '' ) { $catlist = get_categories($args); foreach ($catlist as $categories_item) { echo "<div class=\"col-md-6 odd " .($xyz++%2) . "\"><h1 class=\"entry-title\"><a href=\"" . $categories_item->slug . "\">" . $categories_item->cat_name . "</a></h1>"; $terms = apply_filters('taxonomy-images-get-terms', '', array( 'taxonomy' => 'category' // таксономия, для которой нужны изображения )); if (!empty($terms)) { foreach((array)$terms as $term) { if ($term->term_id == $categories_item->term_id) { // выводим изображение рубрики print '<div class="entry-content"> <span class="thumbnail-post"><a href="' . esc_url(get_term_link($term, $term->taxonomy)) . '" title="Нажмите, чтобы перейти в рубрику">' . wp_get_attachment_image($term->image_id, 'Fullsize'); echo '<div class="mask"> <div class="icon"></div> </div> </a></span></div>'; } } } echo "</div>"; } }?> //если в категории нет подрубрик, то выводим записи нужной подрубрики <?php if ( get_category_children($numcat) == '' ) { ?> /// ...далее код,который был в шаблоне изначально и который начинается while ( have_posts() ) : the_post(); .. /// // ... // После <?php endwhile; ?> <?php } ?>
Теперь мы можем сделать цену товара или например надпись «Акция». Для этого можно воспользоваться произвольными полями.
Для этого в ту же страницу шаблона рубрик достаточно добавить в нужном месте после предыдущего фрагмента
<p style="text-align:center;"><?php echo get_post_meta($post->ID, 'key', true); ?></p>
где key — название произвольного поля. В админке к нужной записи-товару добавляем произвольное поле key и нужное значение или цену
Теперь можно с помощью плагина Contact Form 7 добавить кнопку «заказать» для наших товаров.
И мы получаем простой каталог на WordPress
Спасибо ! Подскажите а какой шаблон в wordpress отвечает за выход рубрик. Пожалуйста
чаще всего это archive.php
Добрый день очень полезная информация! а нет простенького плагина который организовал бы вывод статей на страницу каталога?