Woocommerce Category Loop показывает только одну категорию несколько раз - PullRequest
0 голосов
/ 19 июня 2019

Я уверен, что сделал что-то не так, я просто не вижу, что смотрю.

Я изменил макет файла Woocommerce content-product_cat.php (и поместил его в локальную папку Woocommerce в моей теме), я изменил код на следующий:

<?php
/**
 * The template for displaying product category thumbnails within loops
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/content-product_cat.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/
 * @package WooCommerce/Templates
 * @version 2.6.1
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}
?>
<?php
$terms = get_the_terms( $post->ID, 'product_cat' );
    foreach ( $terms as $term ){
		$category_link = get_category_link($term);
        $category_name = $term->name;
        $category_thumbnail = get_woocommerce_term_meta($term->term_id, 'thumbnail_id', true);
        $backgroundImg = wp_get_attachment_url($category_thumbnail);
    }
?>

<div class="boxitem col-xl-3 col-lg-6 col-md-6 col-sm-12 col-xs-12 item">
	<div class="boxcontainer">
		<div class="boximage" style="background: url('<?php echo $backgroundImg; ?>') no-repeat;"></div>
		<div class="textcontainer">
		<h2><?php echo $category_name; ?></h2>
		<?php echo category_description( $term ); ?>
		</div>
		<div class="boxbutton"><a href="<?php echo esc_url( $category_link ); ?>" class="pinkbutton">More info</a></div>
	</div>
</div>

Я также незначительно изменил archive-product.php (так же, как указано выше в папке Woocommerce в моей теме, чтобы переопределить основные макеты Woocommerce), чтобы включить заголовок и контроллер раздела, как показано ниже:

<section class="page woocommerce">
<div class="container pagecontent titlecontainer">
<div class="page_title"><h1><?php woocommerce_page_title(); ?></h1></div>
<div class="site-breadcrumbs"><a href="<?php echo esc_url( home_url( '/' ) ); ?>shop/" class="pinkbutton">&lsaquo; Back to Shop</a></div>
</div>

<div class="container pagecontent contentcontainer">
<div class="page_content">
 <div class="post-tags">
			<?php 
    $args = array(
        'taxonomy' => 'product_cat',
        'orderby' => 'name',
        'hierarchical' => 0, // 1 for yes, 0 for no  
        'hide_empty' => 0,
    );
    $all_categories = get_categories($args);
 foreach ( $all_categories as $cat ) {  //for each term:
	$class = ( is_category( $cat->slug ) ) ? 'active' : '';
	echo "<a href='".get_term_link($cat)."' class='" . $class . "'>" . $cat->name . "</a>\n";
 }
 ?>

</div>
<div class="boxes tagged-posts filtered-posts ">

Это просто добавляет фильтр, когда он на странице подкатегории, и у меня есть CSS, чтобы скрыть его, когда он на главной странице категории.

Моя проблема в том, что в основной категории, или когда вы посещаете магазин, я настроил показ категорий, что хорошо, и это так, но неоднократно показывает одну и ту же категорию. Это показано на изображении ниже:

ошибка повторяющегося изображения категории

Мой вопрос:

Может кто-нибудь просто проверить мой синтаксис и сообщить мне, где я ошибся? Поскольку я уверен, что я только что что-то пропустил, или добавил что-то где-то, где я не должен, и теперь категории не отображаются правильно.

Любая помощь будет отличной!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...