@alexsteadfast
I am noob

Как настроить вывод записей в вордпрессе в соответствии с актывным значением в админке?

В админке через плагин добавил поле в админку - Стик.
5b9628cdad94f227489560.png
Суть: При активации этого булева значения, этот пост должен выводится первым в шапке сайта и оставаться там.
delovoe-tv.ru/category/kultura/%D0%BD%D0%BE%D0%B2%...
Сейчас при публикации следующей новости закрепленная сдвигается. Механизм работает не корректно.
Код в файле вывода блоков
function inner($posts, $td_column_number = '') {

        $buffy = '';


        if (!empty($posts)) {

            if ($td_column_number==1 || $td_column_number==2) {
                $buffy .= td_util::get_block_error('Big grid 1', 'Please move this shortcode on a full row in order for it to work.');
            } else {
                $buffy .= '<div class="td-big-grid-wrapper">';

                $post_count = 0;

                // when 2 posts make post scroll full
                $td_scroll_posts = '';
                if (count($posts) == 2) {
                    $td_scroll_posts = ' td-scroll-full';
                }
             $meta = get_post_meta($array_id);
             $rrr = (array)$posts;
             //print_r($rrr['ID']);
                foreach ($posts as $post) {
                    
                   if ($post_count == 0) {
                        $td_module_mx5 = new td_module_mx5($post, $this->get_all_atts());
                        
//                        $args = array( 'ID' => 1 );
//                        $myposts = get_posts( $args );
//                        print_r($myposts);
                        
                        $array =  (array) $post;
                        //$array =  (array) $array['post'];
                        $array_id = $array['ID'];
                        $meta = get_post_meta($array_id);
                        //print_r($meta['Stick']);
                        //$buffy .= $td_module_mx5->render($post_count);
                         foreach ($posts as $item){
                            if($meta['Stick']['0']==1){
                                $buffy .= '<span class="stick">Главное событие</span>';
                                global $big_post;
                                $big_post = $td_module_mx5->render($post_count);
                                $buffy .= $big_post;
                                break;
                            }
                         }
                   if($big_post==null){
                       $buffy .= $td_module_mx5->render($post_count);
                   }
                        
                        $buffy .= '<div class="td-big-grid-scroll' . $td_scroll_posts . '">';
                        $post_count++;
                        continue;
                    }

                    $td_module_mx6 = new td_module_mx6($post, $this->get_all_atts());
                    $buffy .= $td_module_mx6->render($post_count);

                    $post_count++;
                }

                if ($post_count < self::POST_LIMIT) {

                    for ($i = $post_count; $i < self::POST_LIMIT; $i++) {

                        if ($post_count == 0) {
                            $td_module_mx_empty = new td_module_mx_empty();
                            $buffy .= $td_module_mx_empty->render($i, 'td_module_mx5');

                            $buffy .= '<div class="td-big-grid-scroll' . $td_scroll_posts . '">';
                            $post_count++;
                            continue;
                        }

                        $td_module_mx_empty = new td_module_mx_empty();
                        $buffy .= $td_module_mx_empty->render($i, 'td_module_mx6');

                        $post_count++;

                    }
                }
                $buffy .= '</div>';  // close td-big-grid-scroll
                $buffy .= '</div>'; // close td-big-grid-wrapper
            }
        }

        return $buffy;
    }
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы