Продукты повторяются в категории Woocommerce - PullRequest
0 голосов
/ 23 апреля 2020

Я только что создал «особую» категорию для типа продукта. Но продукты повторяются по три в категории. Я пробовал разные способы, с разными кодами, но не смог найти решение. Заранее спасибо.

Это ссылка на мой сайт и категория, которая вызывает у меня эту проблему. Другие категории работают по-разному.

Ссылка: https://aventurasport.cl/product-category/parapente/

 <?php
        $args = array( 'post_type' => 'product', 'posts_per_page' => 3, 'product_cat' => 'parapente' );
        $loop = new WP_Query( $args );
        while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>



<li class="product">
<div class="todooo">
<div class="allarriba">

                <a href="<?php echo get_permalink( $loop->post->ID ) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>">
                    <?php
                        the_title( '<h3 class="arribita">', '<br>aa</h3>' ); 

                        echo '<span class="precioo price">'. $product->get_price_html() .'</span>'; 

                        woocommerce_show_product_sale_flash( $post, $product );
                        if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog');
                        else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Placeholder" width="300px" height="300px" />';

                        echo '<span class="price">'. $product->get_price_html() .'</span>';
                    ?>
                </a>
</div>


<?php
/**
 * Custom Loop Add to Cart.
 *
 * Template with quantity and ajax.
 */

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly.

global $product;
?>

<?php if ( ! $product->is_in_stock() ) : ?>

 <a href="<?php echo apply_filters( 'out_of_stock_add_to_cart_url', get_permalink( $product->id ) ); ?>" class="button"><?php echo apply_filters( 'out_of_stock_add_to_cart_text', __( 'Read More', 'woocommerce' ) ); ?></a>

<?php else : ?>

 <?php
 $link = array(
 'url' => '',
 'label' => '',
 'class' => ''
 );

 switch ( $product->product_type ) {
 case "variable" :
 $link['url'] = apply_filters( 'variable_add_to_cart_url', get_permalink( $product->id ) );
 $link['label'] = apply_filters( 'variable_add_to_cart_text', __( 'Select options', 'woocommerce' ) );
 break;
 case "grouped" :
 $link['url'] = apply_filters( 'grouped_add_to_cart_url', get_permalink( $product->id ) );
 $link['label'] = apply_filters( 'grouped_add_to_cart_text', __( 'View options', 'woocommerce' ) );
 break;
 case "external" :
 $link['url'] = apply_filters( 'external_add_to_cart_url', get_permalink( $product->id ) );
 $link['label'] = apply_filters( 'external_add_to_cart_text', __( 'Read More', 'woocommerce' ) );
 break;
 default :
 if ( $product->is_purchasable() ) {
 $link['url'] = apply_filters( 'add_to_cart_url', esc_url( $product->add_to_cart_url() ) );
 $link['label'] = apply_filters( 'add_to_cart_text', __( 'Comprar', 'woocommerce' ) );
 $link['class'] = apply_filters( 'add_to_cart_class', 'add_to_cart_button' );
 } else {
 $link['url'] = apply_filters( 'not_purchasable_url', get_permalink( $product->id ) );
 $link['label'] = apply_filters( 'not_purchasable_text', __( 'Read More', 'woocommerce' ) );
 }
 break;
 }

 // If there is a simple product.
 if ( $product->product_type == 'simple' ) {
 ?>
 <form action="<?php echo esc_url( $product->add_to_cart_url() ); ?>" class="cart" method="post" enctype="multipart/form-data">
 <?php


 // Displays the quantity box.

    woocommerce_quantity_input(array('input_value' => isset($_POST['quantity']) ? wc_stock_amount($_POST['quantity']) : 0));



// Displays the quantity box.



 // Display the submit button.
 echo sprintf( '<button type="submit" data-product_id="%s" data-product_sku="%s" data-quantity="1" class="%s botoncomprar button product_type_simple">%s</button>', esc_attr( $product->id ), esc_attr( $product->get_sku() ), esc_attr( $link['class'] ), esc_html( $link['label'] ) );
 ?>
 </form>
 <?php
 } else {
 echo apply_filters( 'woocommerce_loop_add_to_cart_link', sprintf('<a href="%s" rel="nofollow" data-product_id="%s" data-product_sku="%s" class="%s button product_type_%s">%s</a>', esc_url( $link['url'] ), esc_attr( $product->id ), esc_attr( $product->get_sku() ), esc_attr( $link['class'] ), esc_attr( $product->product_type ), esc_html( $link['label'] ) ), $product, $link );
 }

 ?>

<?php endif; ?>



        </div>  </li>


        <?php endwhile;
        wp_reset_query(); 
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...