以下不能正常工作,页面需要永远加载,它会创建很多Apache进程并消耗内存和CPU疯狂
<?php
/**
* Template Name: Custom forum index
*/
get_header();
?>
<div id="content" role="main">
<?php //do_action( 'bbp_template_notices' ); ?>
<?php
$args = array(
'post_type' => 'forum',
'post_status' => 'publish',
//'meta_key' => 'age',
'orderby' => 'title',
'order' => 'ASC',
// 'meta_query' => array(
// array(
// 'key' => '_bbp_topic_count'
// ),
// array(
// 'key' => '_bbp_reply_count'
// ),
// array(
// 'key' => '_bbp_last_active_time'
// ),
// array(
// 'key' => '_bbp_last_topic_id'
// )
// )
);
$query = new WP_Query($args);
while ($query->have_posts()) : the_post(); ?>
<div id="forum-front" class="bbp-forum-front">
<h1 class="entry-title"><?php the_title(); ?></h1>
<div class="entry-content">
<?php //the_content(); ?>
<?php //bbp_get_template_part( 'content', 'archive-forum' ); ?>
</div>
</div><!-- #forum-front -->
<?php endwhile; ?>
</div><!-- #content -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
潜在的动机是,我正在尝试创建一个自定义论坛索引页面,论坛根据其名称按字母顺序排列。奇怪的是,这种功能并没有附带bbPress
如上所述,我尝试使用WP_Query()循环使用“forum”类型的帖子。 这种方法可能出现什么问题? 我需要在这里使用什么WP_Query()?
答案 0 :(得分:0)
由于使用了自定义WP_Query
,您需要在wp_reset_query();
关键字后指定endwhile;
。根据Wordpress文档here,“此函数会破坏自定义循环上使用的先前查询。应在循环之后调用函数以确保条件标记按预期工作。”
答案 1 :(得分:0)
出了什么问题the_post()
。它应该是$query->the_post()
;代替。
所以正确的循环将是
<?php
//...
while ($query->have_posts()) : $query->the_post(); ?>
<div id="forum-front" class="bbp-forum-front">
<h1 class="entry-title"><?php the_title(); ?></h1>
<div class="entry-content">
<?php //the_content(); ?>
<?php //bbp_get_template_part( 'content', 'archive-forum' ); ?>
</div>
</div><!-- #forum-front -->
<?php endwhile; ?>