我有这个网站:http://n0rd.no/testing/我尝试制作它,以便每个播客在首页上都有一个帖子而不是该类别中的一个帖子。
我在此网站上找到了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(__('« Newer Entries ', 'woothemes' )) ?></div>
<div class="alignright bg"><?php next_posts_link(__(' Older Entries »', '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>
答案 0 :(得分: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>
答案 1 :(得分:0)
也许我错了,但你试着改用你的:
<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(__('« Newer Entries ', 'woothemes' )) ?></div>
<div class="alignright bg"><?php next_posts_link(__(' Older Entries »', 'woothemes' )) ?></div>
<br class="fix" />
<?php } ?>
</div>
<div class="fix"></div>
</div>