这可能是一个愚蠢的问题,但我无法弄清楚。我正在研究通过转换html网站创建的自定义WordPress主题。但是,当我使用WP_Query时,它不会加载我的博客文章。是的,它会按循环显示博客帖子的列表,但是当我单击帖子的每个标题或“更多”链接时,它只会将地址栏中的网址更改为帖子的链接,然后只需刷新希望页面即可。它没有打开,我真的很累。这是我的index.php中的查询循环
<?php
$categories = get_categories();
foreach ( $categories as $category ) {
//define args for query
$args = array(
'cat' => $category->term_id,
'post_type' => 'post',
'posts_per_page' => '30',
);
//The main query
$query = new WP_Query( $args );
if ( $query->have_posts() ) { ?>
<section class="<?php echo $category->name; ?> listing">
<h2>Latest in <?php echo $category->name; ?>:</h2>
<?php while ( $query->have_posts() ) {
$query->the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class( 'category-listing' ); ?>>
<?php if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail( 'thumbnail' ); ?>
</a>
<?php } ?>
<h3 class="entry-title">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</h3>
<?php the_excerpt(); ?>
</article>
<?php } // end while ?>
</section>
<?php } // end if
// Use reset to restore original query.
wp_reset_postdata();
}
?>
</div><!-- blog-main-content-->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
请问我该怎么办
答案 0 :(得分:0)
根据上面的评论,您缺少帖子页面的模板文件。在您当前的配置中,由于您只有index.php
文件,因此帖子循环将显示在网站的所有页面上。您应该创建一个single.php
模板来显示单个博客文章。
以下是WordPress模板层次结构供参考:https://developer.wordpress.org/themes/basics/template-hierarchy/