2012-06-06 2 views
3

У меня есть этот сайт: http://n0rd.no/testing/, где я пытаюсь сделать так, чтобы каждый подкаст получал одно сообщение на первой странице, а не один пост pr в категории.Wordpress только сообщение 1 сообщение из каждой категории

Я нашел how do i get only 1 post from each category in wordpress на этом сайте, но не могу понять, как сделать эту работу с моим кодом.

Может ли кто-нибудь мне помочь?

<?php /* Template Name: category view */ ?> 
<?php get_header(); ?> 

<?php 
    // Determine column/image size front page 
    $cols = '3'; 
    $cols = get_option('woo_cols'); 
    $r1 = 3; $r2 = 2; 
    if (get_option('woo_ratio1')) $r1 = get_option('woo_ratio1'); 
    if (get_option('woo_ratio2')) $r2 = get_option('woo_ratio2'); 
    if ($cols == "1") { 
     $class = "one"; $width = 940; $height = $width/$r1 * $r2; 
    } elseif ($cols == 2) { 
     $class = "two"; $width = 460; 
    } elseif ($cols == 3) { 
     $class = "three"; $width = 300; 
    } elseif ($cols == 4) { 
     $class = "four"; $width = 220; 
    } elseif ($cols == 5) { 
     $class = "five"; $width = 172; 
    } 
    $height = $width/$r1 * $r2; 
    $height = round($height); 
?> 

    <!-- Content Starts --> 
    <div class="content"> 

    <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts('cat=83'); ?> 
    <?php if (have_posts()) : ?> 
    <?php while (have_posts()) : the_post(); $count++; ?> 

     <!-- Post Starts --> 
     <div class="bg-photo-thumb <?php echo $class; ?>-col<?php if ($count == $cols) { echo ' last'; $count = 0; } ?>"> 
     <div class="photo-thumb"><?php ciii_category_images(); ?><h2 class="cattitle"><?php 
$category = get_the_category(); 
//print_r($category); 
if($category[0]){ 
echo '<a href="'.get_category_link($category[0]->term_id).'" class="catname">'.$category[0]->cat_name.'</a>'; 
} 
?> 
</h2><br clear="all" /> 
<h3 class="catdisc"><?php echo $category[0]->category_description; ?></h3> 

<?php 
if (strpos($_SERVER[HTTP_REFERER], "twitter.com") == true) { 
    echo "Hello Twitter User!"; 
} 
?> 
      <div class="fix"></div> 

     </div> 
     </div> 
     <!-- Post Ends --> 

    <?php endwhile; else: ?> 
     <p><?php _e('Sorry, no posts matched your criteria.', 'woothemes') ?></p> 
    <?php endif; ?> 

     <div class="fix"></div> 
     <div class="more_entries"> 
      <?php if (function_exists('wp_pagenavi')) wp_pagenavi(); else { ?> 
      <div class="alignleft bg"><?php previous_posts_link(__('&laquo; Newer Entries ', 'woothemes')) ?></div> 
      <div class="alignright bg"><?php next_posts_link(__(' Older Entries &raquo;', 'woothemes')) ?></div> 
      <br class="fix" /> 
      <?php } ?> 
     </div>  
     <div class="fix"></div> 

    </div><!-- Content Ends --> 

<?php get_footer(); ?> 

обновление - я теперь получить его на работу, используя этот код:

<?php /* Template Name: category view */ ?> 
<?php get_header(); ?> 

<?php 
    // Determine column/image size front page 
    $cols = '3'; 
    $cols = get_option('woo_cols'); 
    $r1 = 3; $r2 = 2; 
    if (get_option('woo_ratio1')) $r1 = get_option('woo_ratio1'); 
    if (get_option('woo_ratio2')) $r2 = get_option('woo_ratio2'); 
    if ($cols == "1") { 
     $class = "one"; $width = 940; $height = $width/$r1 * $r2; 
    } elseif ($cols == 2) { 
     $class = "two"; $width = 460; 
    } elseif ($cols == 3) { 
     $class = "three"; $width = 300; 
    } elseif ($cols == 4) { 
     $class = "four"; $width = 220; 
    } elseif ($cols == 5) { 
     $class = "five"; $width = 172; 
    } 
    $height = $width/$r1 * $r2; 
    $height = round($height); 
?> 
    <div class="content"> 
<?php 

$news_cat_ID = get_cat_ID('News'); 
$news_cats = get_categories("parent=$news_cat_ID"); 
$news_query = new WP_Query(); 

foreach ($news_cats as $news_cat): 
?> 

<?php $news_query->query('posts_per_page=1&cat=' . $news_cat->term_id); ?> 
<?php if ($news_query->have_posts()): $news_query->the_post(); ?> 

     <div class="post"> 
     <div class="bg-photo-thumb <?php echo $class; ?>-col<?php if ($count == $cols) { echo ' last'; $count = 0; } ?>"> 
     <div class="photo-thumb"><?php ciii_category_images(); ?><h2 class="cattitle"><?php 
$category = get_the_category(); 
//print_r($category); 
if($category[0]){ 
echo '<a href="'.get_category_link($category[0]->term_id).'" class="catname">'.$category[0]->cat_name.'</a>'; 
} 
?> 
</h2><br clear="all" /> 
<h3 class="catdisc"><?php echo $category[0]->category_description; ?></h3> 

<?php 
if (strpos($_SERVER[HTTP_REFERER], "twitter.com") == true) { 
    echo "Hello Twitter User!"; 
} 
?> 
      <div class="fix"></div> 

     </div> 
     </div> 
      <!-- do whatever you else you want that you can do in a normal loop --> 
     </div> 

<?php endif; ?> 

<?php endforeach; ?> 
</div> 

ответ

1

Я использовал этот для его исправления:

<?php /* Template Name: category view */ ?> 
<?php get_header(); ?> 

<?php 
    // Determine column/image size front page 
    $cols = '3'; 
    $cols = get_option('woo_cols'); 
    $r1 = 3; $r2 = 2; 
    if (get_option('woo_ratio1')) $r1 = get_option('woo_ratio1'); 
    if (get_option('woo_ratio2')) $r2 = get_option('woo_ratio2'); 
    if ($cols == "1") { 
     $class = "one"; $width = 940; $height = $width/$r1 * $r2; 
    } elseif ($cols == 2) { 
     $class = "two"; $width = 460; 
    } elseif ($cols == 3) { 
     $class = "three"; $width = 300; 
    } elseif ($cols == 4) { 
     $class = "four"; $width = 220; 
    } elseif ($cols == 5) { 
     $class = "five"; $width = 172; 
    } 
    $height = $width/$r1 * $r2; 
    $height = round($height); 
?> 
    <div class="content"> 
<?php 

$news_cat_ID = get_cat_ID('News'); 
$news_cats = get_categories("parent=$news_cat_ID"); 
$news_query = new WP_Query(); 

foreach ($news_cats as $news_cat): 
?> 

<?php $news_query->query('posts_per_page=1&cat=' . $news_cat->term_id); ?> 
<?php if ($news_query->have_posts()): $news_query->the_post(); ?> 

     <div class="post"> 
     <div class="bg-photo-thumb <?php echo $class; ?>-col<?php if ($count == $cols) { echo ' last'; $count = 0; } ?>"> 
     <div class="photo-thumb"><?php ciii_category_images(); ?><h2 class="cattitle"><?php 
$category = get_the_category(); 
//print_r($category); 
if($category[0]){ 
echo '<a href="'.get_category_link($category[0]->term_id).'" class="catname">'.$category[0]->cat_name.'</a>'; 
} 
?> 
</h2><br clear="all" /> 
<h3 class="catdisc"><?php echo $category[0]->category_description; ?></h3> 

<?php 
if (strpos($_SERVER[HTTP_REFERER], "twitter.com") == true) { 
    echo "Hello Twitter User!"; 
} 
?> 
      <div class="fix"></div> 

     </div> 
     </div> 
      <!-- do whatever you else you want that you can do in a normal loop --> 
     </div> 

<?php endif; ?> 

<?php endforeach; ?> 
</div> 
0

Может быть, я не прав, но вы пытаетесь использовать Insted ваш:

<div class="content"> 

<?php 

$cat_ID = get_cat_ID('News'); 
$cats = get_categories("parent=$news_cat_ID"); 
$main_query = new WP_Query(); 
$count = 0; 

foreach ($cats as $cat): 
    $news_query->query('posts_per_page=1&cat=' . $cat->term_id); 
    if ($main_query->have_posts()): 
    $count++; 
    $main_query->the_post(); ?> 
     <!-- Post Starts --> 
     <div class="bg-photo-thumb <?php echo $class; ?>-col<?php if ($count == $cols) { echo ' last'; $count = 0; } ?>"> 
     <div class="photo-thumb"><?php ciii_category_images(); ?> 
     <h2 class="cattitle"> 
     <?php $category = get_the_category(); 
     if($category[0]){ 
      echo '<a href="'.get_category_link($category[0]->term_id).'" class="catname">'.$category[0]->cat_name.'</a>'; 
     }?> 
     </h2> 
    <br clear="all" /> 
    <h3 class="catdisc"><?php echo $category[0]->category_description; ?></h3> 
    <?php 
    if (strpos($_SERVER[HTTP_REFERER], "twitter.com") == true) { 
     echo "Hello Twitter User!"; 
    } 
    ?> 
     <div class="fix"></div> 
     </div> 
     </div> 
     <!-- Post Ends --> 
    <?php endif; ?> 

<?php endforeach; ?> 
<div class="fix"></div> 
     <div class="more_entries"> 
      <?php if (function_exists('wp_pagenavi')) wp_pagenavi(); else { ?> 
      <div class="alignleft bg"><?php previous_posts_link(__('&laquo; Newer Entries ', 'woothemes')) ?></div> 
      <div class="alignright bg"><?php next_posts_link(__(' Older Entries &raquo;', 'woothemes')) ?></div> 
      <br class="fix" /> 
      <?php } ?> 
     </div>  
     <div class="fix"></div> 

    </div> 
+0

Благодарим за отзыв, но can not g и т.д., чтобы работать. Я просто получаю заголовок и никаких сообщений. Если бы я хотел, чтобы это работало только по категории 83, что мне нужно делать? – Hallgeirg

+0

Вы хотите только 1 сообщение из категории 83 или хотите все подкатегории из 83? – Tapac

+0

Я хотел один из всех подкатегорий. но теперь он работает. обновленный первый пост. – Hallgeirg

 Смежные вопросы

  • Нет связанных вопросов^_^