Как показать только варианты, которые есть в наличии на странице магазина в woocommerce? - PullRequest
0 голосов
/ 15 января 2020

Я не хочу показывать все доступные атрибуты, мне просто нужно показать значение тех вариаций, в которых запасы сохранены на сервере. Так же, как у меня есть переменная с именованными размерами, поэтому я хочу показать товар, а также его доступные размеры, если товар имеет 5 разных размеров, но у двух его размеров нет запаса, то отображаются только остальные 3 размера, которые есть в наличии , и если один товар имеет 5 разных размеров и все размеры есть в наличии, тогда отобразите все эти размеры. Вот код, который я использую:

    echo '<div class="row m-0 justify-content-center">';
    $fabric_values = get_the_terms( $product->id, 'pa_sizes');
    foreach ( $fabric_values as $fabric_value ) {
        echo '<button class="btn btn-circle btn-lg rounded-circle">'."$fabric_value->name" . '</button>';
    }
    echo '</div>';

Вот снимок: См. Снимок экрана здесь Здесь показаны все атрибуты, которые я сохранил ранее. Какое решение, если кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 23 января 2020

попробуйте

global $product;

        $taxonomy    = 'pa_sizes'; // The product attribute taxonomy
        $sizes_array = []; // Initializing
        // Loop through available variation Ids for the variable product
        foreach( $product->get_children() as $child_id ) {
            $variation = wc_get_product( $child_id ); // Get the WC_Product_Variation object
            if( $variation->is_purchasable() && $variation->is_in_stock() ) {
                $term_name = $variation->get_attribute( $taxonomy );
                $file_list[$term_name] = $term_name;

            }
        }

        /*
         * Loop through the array and print all the values
         */
        if(is_array($file_list)){
            sort ($file_list);
            foreach($file_list as $file){ 
                echo '<button class="btn btn-circle btn-lg rounded-circle">' . $file . '</button>';
            }
        }
        else{
            echo '<p style="font-size:12px;">No Sizes Available</p>';
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...