Проблема с query_posts и tag_id
-
Подскажите пожалуйста, уже весь мозг сломал и интернет весь облазил — не получается.
Есть виджет выводящий посты картинок в отдельном файле Php.
никак не могу побороть запрос поста. Нужно, чтобы запрос поста брал только посты с тегом=21<?php query_posts(«posts_per_page=». $count .»&post_type=portfolio&tag_id=21″);?>
Писал по всякому, но не передается вообще параметр tag_id и пост возращается без учета Tag_id
вот полный код скрипта
<?php // =============================== My Post Cycle widget ====================================== class MY_CycleWidget extends WP_Widget { /** constructor */ function MY_CycleWidget() { parent::WP_Widget(false, $name = 'My - Folio Cycle'); } /** @see WP_Widget::widget */ function widget($args, $instance) { extract( $args ); $title = apply_filters('widget_title', $instance['title']); $count = apply_filters('widget_count', $instance['count']); $linktext = apply_filters('widget_linktext', $instance['linktext']); $linkurl = apply_filters('widget_linkurl', $instance['linkurl']); ?> <?php echo $before_widget; ?> <?php if ( $title ) echo $before_title . $title . $after_title; ?> <div class="folio_cycle" id="folio-cycle"> <?php $limittext = $limit;?> <?php global $more; $more = 0; $i = 1; ?> <?php query_posts("posts_per_page=". $count ."&post_type=portfolio");?> <?php while (have_posts()) : the_post(); ?> <?php $custom = get_post_custom($post->ID); $lightbox = $custom["lightbox-url"][0]; ?> <?php if (($i%4)==0) { $addClass="no-margin"; } ?> <div class="folio_item <?php echo $addClass; ?>"> <?php if ( has_post_thumbnail()) { ?> <?php if($lightbox!=""){ ?> <a href="<?php echo $lightbox;?>" class="thumbnail" rel="prettyPhoto[gallery]"><span class="zoom-icon"></span><figure class="thumbnail"><?php the_post_thumbnail(); ?></figure></a> <?php } else { ?> <a href="<?php the_permalink(); ?>" class="thumbnail alt"><figure class="thumbnail"><?php the_post_thumbnail(); ?></figure></a> <?php } ?> <?php } ?> </div> <?php $i++; $addClass=""; endwhile; ?> <?php wp_reset_query(); ?> <!-- Link under post cycle --> <?php if($linkurl !=""){?> <a href="<?php echo $linkurl; ?>" class="link"><?php echo $linktext; ?></a> <?php } ?> </div> <!-- end of portfolio_cycle --> <?php echo $after_widget; ?> <?php } /** @see WP_Widget::update */ function update($new_instance, $old_instance) { return $new_instance; } /** @see WP_Widget::form */ function form($instance) { $title = esc_attr($instance['title']); $count = esc_attr($instance['count']); $linktext = esc_attr($instance['linktext']); $linkurl = esc_attr($instance['linkurl']); ?> <p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:', 'theme1427'); ?> <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></label></p> <p><label for="<?php echo $this->get_field_id('count'); ?>"><?php _e('Posts per page:'); ?><input class="widefat" style="width:30px; display:block; text-align:center" id="<?php echo $this->get_field_id('count'); ?>" name="<?php echo $this->get_field_name('count'); ?>" type="text" value="<?php echo $count; ?>" /></label></p> <p><label for="<?php echo $this->get_field_id('linktext'); ?>"><?php _e('Link Text:', 'theme1427'); ?> <input class="widefat" id="<?php echo $this->get_field_id('linktext'); ?>" name="<?php echo $this->get_field_name('linktext'); ?>" type="text" value="<?php echo $linktext; ?>" /></label></p> <p><label for="<?php echo $this->get_field_id('linkurl'); ?>"><?php _e('Link Url:', 'theme1427'); ?> <input class="widefat" id="<?php echo $this->get_field_id('linkurl'); ?>" name="<?php echo $this->get_field_name('linkurl'); ?>" type="text" value="<?php echo $linkurl; ?>" /></label></p> <?php } } // class Cycle Widget
-
Попробуй поставить после этого:
<?php while (have_posts()) : the_post(); ?>
Вот это:
<?php if(!has_term('21', 'post_tag')) continue; ?>
Т.е. у тебя в цикле это должно быть и каждый пост не имеющий тег 21 будет пропускаться.
Может конечно немного кастыльно, но должно работать.
Чтобы не кастыльно сделать, нужно больше времени. А время — деньги 😉Спасибо за ответ. Не работает. — Пустоту возвращает
Dimas_Odessa, настоятельно рекомендую прочитать правила форума. Особенно п10 и 16.
(и оправдываться тут не надо. Просто прочитайте и сделайте выводы)Так и не получилось решить проблему…. 🙁
все манипуляции выдают пустой результат. как будто тегов вовсе и нет
- Тема «Проблема с query_posts и tag_id» закрыта для новых ответов.