Ниже приведено несколько функций, которые, при размещении в файлах используемой темы или плагина Goods Catalog, позволят расширить стандартные возможности каталога.
При размещении в файле темы, отвечающем за формирование главной страницы, код выведет рубрики каталога с миниатюрами.
Файл темы: home.php (лучше), или index.php
Пример: http://test.cmski.ru
Автор решения: Максим Дорохов
<!-- Catalog -->
<?php
$term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy'));
// include
echo '<h3 class="catalog-home">Каталог</h3>';
echo '<div id="catalog-home">';
echo '<div class="catalog-inner">';
// categiries list with images
$category_id = get_query_var('cat');
$args = array(
'type' => 'goods',
'taxonomy' => 'goods_category',
'hide_empty' => 0,
'parent' => 0,
'orderby' => 'name'
);
$category_list = get_categories($args, $category_id);
// check if current taxonomy doesn't have childs
if (empty($category_list)) {
// echo "There are no subcategories";
}
// if has
else {
echo '<div class="goods-categories-container">';
foreach ($category_list as $categories_item) {
// show categories images
if (isset($catalog_option['show_category_thumb'])) {
echo '<div class="grid"><div class="goods-category-thumb-container">';
$terms = apply_filters('taxonomy-images-get-terms', '', array('taxonomy' => 'goods_category'));
$flag = FALSE;
if (!empty($terms)) {
foreach ((array) $terms as $term) {
if ($term->term_id == $categories_item->term_id) {
$img = wp_get_attachment_image($term->image_id, 'gc-image-thumb', '', array('class' => 'goods-category-thumb'));
echo '<a href="' . esc_url(get_term_link($term, $term->taxonomy)) . '">' . $img . '</a>';
$flag = TRUE;
}
}
if ($flag == FALSE) {
echo '<a href="' . esc_url(get_term_link($categories_item, $categories_item->taxonomy)) . '"><img class="goods-item-thumb" src="/wp-content/themes/albar/images/gc.png" alt=""></a>';
}
}
// show images if plugin Taxonomy Images not installed
else {
echo '<a href="' . esc_url(get_term_link($categories_item, $categories_item->taxonomy)) . '"><img class="goods-item-thumb" src="/wp-content/themes/albar/images/gc.png" alt=""></a>';
}
echo '</div>';
}
// show categories titles
echo '<h2 class="goods-category-list-title"><a href="' . esc_url(get_term_link($categories_item, $categories_item->taxonomy)) . '" title="' . sprintf(__("Go to cetegory %s", 'gcat'), $categories_item->name) . '" ' . '>' . $categories_item->name . '</a></h2> ';
echo '</div>';
}
echo "</div>";
echo "<div class=\"clear\"></div>";
}
//
echo '</div>'; // catalog-inner
echo '</div>'; // goods-catalog
echo '<div class="clear"></div>'; // fix for some themes
?>
<!-- end catalog -->
Вывод на странице одиночного товара списка похожих товаров. Необходимо внести изменения в файл плагина.
Изменения в файлах плагина них пропадут при обновлении. Будьте внимательны и делайте бэкапы!
Файл плагина: /templates/single-goods.php
Автор кода: Isabel Castillo
<!-- begin custom related loop, isa -->
<?php
// get the custom post type's taxonomy terms
$custom_taxterms = wp_get_object_terms( $post->ID, 'goods_category', array('fields' => 'ids') );
// arguments
$args = array(
'post_type' => 'goods',
'post_status' => 'publish',
'posts_per_page' => 3, // you may edit this number
'orderby' => 'rand',
'tax_query' => array(
array(
'taxonomy' => 'goods_category',
'field' => 'id',
'terms' => $custom_taxterms
)
),
'post__not_in' => array ($post->ID),
);
$related_items = new WP_Query( $args );
// loop over query
if ($related_items->have_posts()) :
echo '<ul>';
while ( $related_items->have_posts() ) : $related_items->the_post();
?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
endwhile;
echo '</ul>';
endif;
// Reset Post Data
wp_reset_postdata();
?>
<!-- end custom related loop, isa -->