Поддержка Проблемы и решения Проблема с 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

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Попробуй поставить после этого:

    <?php while (have_posts()) : the_post(); ?>

    Вот это:

    <?php
    if(!has_term('21', 'post_tag'))
       continue;
    ?>

    Т.е. у тебя в цикле это должно быть и каждый пост не имеющий тег 21 будет пропускаться.
    Может конечно немного кастыльно, но должно работать.
    Чтобы не кастыльно сделать, нужно больше времени. А время — деньги 😉

    Спасибо за ответ. Не работает. — Пустоту возвращает

    Dimas_Odessa, настоятельно рекомендую прочитать правила форума. Особенно п10 и 16.
    (и оправдываться тут не надо. Просто прочитайте и сделайте выводы)

    Так и не получилось решить проблему…. 🙁
    все манипуляции выдают пустой результат. как будто тегов вовсе и нет

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Проблема с query_posts и tag_id» закрыта для новых ответов.