我目前正在完成我正在构建的wordpress网站的主题,但我遇到了让我的类别工作的问题。
如果我处于说“/ category / category-name”的URL,我将如何遍历当前类别,我将失去如何循环属于“类别名称”类别的帖子。
我在模板上执行以下操作
<p>Category: <?php single_cat_title(); ?></p>
我得到以下输出
类别名称
那么如何循环播放这些类别帖子呢?
Category.php
<?php get_header(); ?>
<article class="content">
<section class="top">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
</section>
<section class="middle">
</section>
</article>
<?php get_footer(); ?>
页-news.php
<?php get_header(); ?>
<article id="content">
<section class="top">
<?php query_posts('post_type=news'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<section class="news">
<?php the_post_thumbnail(); ?>
<h2><?php echo strtolower(the_title()); ?></h2>
<span class="posted"><?php the_date("l jS M Y"); ?></span>
<?php
$content = get_the_content($more_link_text, $stripteaser, $more_file);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
?>
<p><?php echo substr(strip_tags($content), 0, 400).'…' ; ?><a href="<?php the_permalink(); ?>" class="read_more">Read More</a></p>
<p class="tags">
<strong>Categories:</strong>
<?php
$post_categories = wp_get_post_categories( $post->ID );
$cats = array();
foreach($post_categories as $c){
$cat = get_category( $c );
$cats[] = array( 'name' => $cat->name, 'slug' => $cat->slug );
}
?>
<?php foreach($cats as $k => $v) : ?>
<a href="<?php echo $cats[$k]['slug']; ?>"><?php echo $cats[$k]['name']; ?></a>
<?php endforeach; ?>
</p>
<p class="tags">
<strong>Tags: </strong>
<?php $tags = wp_get_post_tags($post->ID); ?>
<?php foreach ($tags as $tag) : ?>
<a href="<?php echo $tag->slug; ?>"><?php echo $tag->name; ?></a>
<?php endforeach; ?>
</p>
</section>
<?php endwhile; endif; ?>
<?php get_sidebar('news'); ?>
</section>
<section class="middle">
</section>
</article>
所以page-news.php是我的新闻文章所在的位置,用户可以使用<a href="<?php echo $cats[$k]['slug']; ?>"><?php echo $cats[$k]['name']; ?></a>
答案 0 :(得分:2)
根据上面的代码,我认为您不会在category.php
中输出任何内容。 the_post()
不回应任何事情。它只是将下一条记录放入$post
。试试这个......
<?php
get_header();
$cat = get_category(get_query_var("cat"));
var_dump($cat); //make sure that there really is a valid category and it's the right one
?>
<h1 class="page-title"><?php echo $cat->name?></h1>
<?php
if (have_posts()) {
while (have_posts()){
the_post();
<h2><?php the_title()?></h2>
<?php the_content()?>
<?php
}
} else {
?>
<p>No posts found!</p>
<?php
}
?>
<?php
get_footer();
?>
在page-news.php
中,您应该考虑使用the_category()
来回显类别链接,而不是自己构建链接 - 这样您就会知道链接是有效的....
<p class="tags"><?php the_category()?></p>
答案 1 :(得分:0)
您可以在this function内使用page template来发布帖子