web-dev-qa-db-ja.com

Woocommerce - 20%から40%の売り上げがある商品を入手するにはどうすればいいですか?

私は20%から40%の間の割引がある製品をエコーする必要があります。私はメタクエリを使ってみましたが怒りの割合を比較していません。私のコード:

<ul class="products">
    <?php

        $args = array(
            'post_type'      => 'product',
            'posts_per_page' => 4,
            'meta_query'     => array(
                    'relation' => 'BETWEEN',
                    array( // Simple products type
                        'key'           => '_sale_price',
                        'value'         => 0,
                        'compare'       => '>',
                        'type'          => 'numeric'
                    ),
                    array( // Simple products type
                        'key'           => '_sale_price',
                        'value'         => 1000,
                        'compare'       => '<',
                        'type'          => 'numeric'
                    )
                )
        );
        $loop = new WP_Query( $args );
        if ( $loop->have_posts() ) {
            while ( $loop->have_posts() ) : $loop->the_post();
                woocommerce_get_template_part( 'content', 'product' );
            endwhile;
        } else {
            echo __( 'No products found' );
        }
        wp_reset_postdata();
    ?>
</ul>

割引率を取得するための私のコード:

global $product; 
$percentage = round( ( ( $product->regular_price - $product->sale_price ) / $product->regular_price ) * 100 );
2
wiseman

比較できない場合は「%」に変更しないでください。ただし、 0.00 Representation - 1.00 = 100%または 0.3 = 30%を使用してください。それはうまくいくはずです:)

2
user3799089