• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Решено Не сортируется товар вообще

DanilBL

Новичок
Здравствуйте! Достался мне сайт, который меня устраивает, но есть один косяк... Не работает сортировка по алфавиту (по имени). Мне не нужно, чтобы я мог выбирать в поле с вариантами сортировки, а просто чтоб из базы данных выводилось уже сортированный по алфавиту и все.
Все сортируется хорошо (меню, категории), а вот товар не хочет!
Перелопатил информации вагон... Не знаю в чем дело. Последняя надежда на Вас!!!
Вот ссылка на каталог - goo.gl/3BQI0B
Вот часть кода, который выводи товар (orderby, делал разный: title, name, date и вплоть до бреда)
Если еще, что-то нужно, скажите....
Код:
<div class="col-md-9">

<?php   
if ($models_parts) {
            $_pf = new WC_Product_Factory(
            array (
            'orderby'=> 'title',
            'order' => 'ASC'
            ));   
           
            foreach( $models_parts as $part_id ) :   
                if ($cur_count==$count_parts_per_page) {
                    $cur_count=1;
                    $find_page++;
                }
                else {
                    $cur_count++;
                }
                if ($find_page==$need_page)
                {
                    $_product = $_pf->get_product($part_id);
                    $price = get_post_meta($_product->post->ID, '_regular_price');
                                   
                        $linknext=get_site_url().'/detailpart/?';
                        if ($brand_id!=0) $linknext=$linknext.'brandid='.$brand_id.'&';
                        if ($model_id!=0) $linknext=$linknext.'modelid='.$model_id.'&';
                        if ($year_id!=0) $linknext=$linknext.'years='.$year_name;                   
                    ?>   
                    <div class="col-md-4">
                        <a href="<?php echo $linknext.'&partid='.$_product->post->ID; ?>">
                        <div class="part-block solid-block2">                           
                            <?php echo get_the_post_thumbnail($_product->post->ID, array(200,200)); ?>
                            <h1><?php echo $_product->post->post_title; ?></h1>

<?php $type = get_post_meta($part_id, 'type'); ?>
<?php echo $type[0]; ?>

                        </div>
                        </a>
                        <div class="part-button-block">
                            <div class="price-block">
                                <span><?php if ($price[0]) {echo $price[0].'р';}?></span>
                            </div>
                            <div class="button-open-block">
                                <a href="<?php echo $linknext.'&partid='.$_product->post->ID; ?>" style="float:left" id="link<?php echo $cur_count; ?>">
                                    <div class="button-order">Подробнее</div>
                                </a>
                            </div>
                        </div>
                    </div>
                    <?php               
                }       
            endforeach;
            ?>
            </div>

Скажу сразу и честно. Я еще совсем зеленый в этой теме. Только учусь. Но, мне это очень интересно!))
 

vsg

Новичок
А вот и ответ

$args = array(
'post_type' => 'product',
'orderby' => 'post_title',
'order' => 'ASC'
);

$_pf = new WC_Product_Factory($args);

$count = count($models_parts);
for ($i = 0; $i < $count - 1; $i++) {
for ($j = $i + 1; $j < $count; $j++) {
$product1 = $_pf->get_product($models_parts[$i]);
$product2 = $_pf->get_product($models_parts[$j]);
if ($product1->post->post_title > $product2->post->post_title) {
$c = $models_parts[$i];
$models_parts[$i] = $models_parts[$j];
$models_parts[$j] = $c;
}
}
}

foreach( $models_parts as $part_id ) :
-----------------------------------------------------------------------
ну и так далее... реализована обычная сортировка пузырьковым методом :)
 

DanilBL

Новичок
Спасибо! Вопрос актуален. Буду пробовать то что вы предложили. Огромное спасибо
 

vsg

Новичок
Поугарай над тем что я уже за тебя этот вопрос решил.
 
Сверху Снизу