[Помогите] Отображение последней новости из каждой категории

Тема в разделе "Wordpress", создана пользователем serg690, 8 авг 2009.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. serg690

    serg690 Постоялец

    Регистр.:
    14 сен 2008
    Сообщения:
    66
    Симпатии:
    21
    Как реализовать отображение на главной странице сайта, только одной, последней новости из каждого раздела. Имеется 6-ть категорий, на главной странице нужно отображать шесть новостей, по последнему посту из каждой категории.

    Вот часть кода из home.php отвечающего за вывод постов:
    Код:
    <div id="content">
    		
     <?php if (have_posts()) : while (have_posts()) : the_post(); 
      if( $post->ID == $do_not_duplicate ) continue; update_post_caches($posts); ?>
    		
    <?php static $ctr = 0; 
    if ($ctr == "6") { break; } 
    else { ?>
    
    		<?php 
    		// check for thumbnail
    $thumb = get_post_meta($post->ID, 'Thumbnail', $single = true);
    // check for thumbnail class
    $thumb_class = get_post_meta($post->ID, 'Thumbnail Class', $single = true);
    // check for thumbnail alt text
    $thumb_alt = get_post_meta($post->ID, 'Thumbnail Alt', $single = true);
    				 ?>
    
    <div class="home-post-wrap">
    			<div class="post">
    
    <div id="cat-m"><?php the_category(', ') ?></div>
    <div class="thumbnail-div" style="width: 263px; margin-bottom: 10px;">
    <?php // if there's a thumbnail
    if($thumb !== '') { ?>
    	
    	<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><img src="<?php echo $thumb; ?>"
    	width="263px" height="175px" style="border: none;"
    	alt="<?php if($thumb_alt !== '') { echo $thumb_alt; } else { echo the_title(); } ?>"
    	/></a>
    
    <?php } // end if statement
    
    // if there's not a thumbnail
    
    else { echo ''; } ?>
    
    </div>
    
    			
    			<span class="titles"><a href="<?php the_permalink() ?>" rel="bookmark" title="Прочитать статью о <?php the_title(); ?>"><?php the_title2('', '', true, '') ?></a></span>
    			<?php the_content_limit(282, ""); ?>
    <div class="readmore"><a href="<?php the_permalink() ?>" rel="bookmark" title="Читать о <?php the_title(); ?>">Читать</a></div>
    
    			</div>
    			
    </div>
    <?php $ctr++; } ?>
    			<?php comments_template(); ?>
    
    			<?php endwhile; ?>
    
    			   
    			<?php else : ?>
    
    			<h2 >Ничего не найдено</h2>
    
    			<p>К сожалению, по данному запросу информация на нашем сайте пока отсутствует.</p>
    
    			<?php endif; ?>
    
     
  2. serg690

    serg690 Постоялец

    Регистр.:
    14 сен 2008
    Сообщения:
    66
    Симпатии:
    21
    Пробовал воспользоваться решениями предложенными в этой теме
    http://wordpress.org/support/topic/257193но ничего не вышло.
     
  3. rollo_tomassi

    rollo_tomassi

    Регистр.:
    3 май 2009
    Сообщения:
    215
    Симпатии:
    59
    HTML:
    <div id="content">
    
    
    	<?php
    $posts_new = get_posts('category=N&numberposts=M');
    foreach ($posts_new as $post_new) :
        echo '<br><b><a href="';
        echo get_permalink($post_new->ID);
        echo '">';
        echo $post_new->post_title;
        echo '</a></b>';
     echo '<br><br>';
     echo '<font size=2px>';   
     echo $post_new->post_content;
     echo '</font>';
    endforeach;   
    ?>

    Где N=id категории, M=количество постов что Вам нужно вывести из заданной категории.


    Таких вставок у Вас будет 6, раз 6 категорий и нужно по одной новости из каждой.
     
    Виллен и serg690 нравится это.
  4. serg690

    serg690 Постоялец

    Регистр.:
    14 сен 2008
    Сообщения:
    66
    Симпатии:
    21
    Не совсем понял вместо чего вставлять вышеприведенный код.
     
  5. rollo_tomassi

    rollo_tomassi

    Регистр.:
    3 май 2009
    Сообщения:
    215
    Симпатии:
    59
    Вместо цикла стандартного вывода записей. Не судьба вставить и посмотреть и сделать выводы что удалить, что добавить? Или Вы хотите чтобы Вам весь шаблон перекроили?
     
  6. kynni

    kynni Писатель

    Регистр.:
    24 авг 2007
    Сообщения:
    7
    Симпатии:
    1
    пасиб, понадобилось
     
  7. serg690

    serg690 Постоялец

    Регистр.:
    14 сен 2008
    Сообщения:
    66
    Симпатии:
    21
    rollo_tomassi огромное спасибо, воспользовавшись вашим примером переделал все под свой шаблон:
    Код:
    <?php $posts_new = get_posts('category=N&numberposts=M'); foreach ($posts_new as $post_new) : setup_postdata($post_new); ?>
      <div class="home-post-wrap">
    	<div class="post">
    	<div id="cat-m">Название рубрики</div>
    <div class="thumbnail-div" style="width: 263px; margin-bottom: 10px;"><a href="<?php echo get_permalink($post_new->ID); ?>" rel="bookmark" title="<?php echo $post_new->post_title; ?>"><img src="<?php echo $thumb; ?>" width="263px" height="175px" style="border: none;" alt="<?php if($thumb_alt !== '') { echo $thumb_alt; } else { echo the_title(); } ?>" /></a></div>
    <span class="titles"><a href="<?php echo get_permalink($post_new->ID); ?>" rel="bookmark" title="Прочитать статью о <?php echo $post_new->post_title; ?>"><?php echo $post_new->post_title; ?></a></span>
    <?php the_content_limit(282, ""); ?>
    <div class="readmore"><a href="<?php echo get_permalink($post_new->ID); ?>" rel="bookmark" title="Читать о <?php echo $post_new->post_title; ?>">Читать</a>
    </div></div></div>
    <?php endforeach; ?>
    Результатом доволен :)
    http://femineo.ru/
     
  8. art0

    art0 Создатель

    Регистр.:
    28 июн 2007
    Сообщения:
    33
    Симпатии:
    27

    Если данное решение использовать в просмотре поста, как убрать из списка открытый пост?
     
Статус темы:
Закрыта.