我最近更新到wordpress 3.7,我的帖子页面突然停止了工作。它不显示任何内容,并打开一个空白页。该页面上有小代码,它停止了工作。它正在使用query_posts
但是现在出现了一个银行页面。
代码
<? query_posts (\'cat=-103&posts_per_page=1\') ?>
<? while (have_posts ()) { the_post (); ?>
<div class="reu-sec">
<h2><a href="<? the_permalink() ?>"><? the_title (); ?><span class="sbttlmn">   <?= get_post_meta (get_the_ID(), \'sub-title\', true); ?></span></a></h2>
<div class="desc">
<? //the_content (\'[More]\'); ?>
<div class="reu-prev1"><a href="<? the_permalink() ?>"><img src="<?= get_post_meta (get_the_ID(), \'image\', true); ?>"/></a></div>
<div class="reu-prev2"><a href="<? the_permalink() ?>"><img src="<?= get_post_meta (get_the_ID(), \'image2\', true); ?>"/></a></div>
<div class="reu-prev3"><a href="<? the_permalink() ?>"><img src="<?= get_post_meta (get_the_ID(), \'image3\', true); ?>"/></a></div>
</div>
<div style="clear: both"></div>
</div>
<?php } ?>
SO网友:Chip Bennett
摆脱query_posts()
在模板文件中。相反,您需要通过pre_get_posts
.
以下函数将排除指定的类别,并更改主博客帖子索引的每页帖子:
function wpse102566_pre_get_posts( $query ) {
if ( is_home() && $query->is_main_query() ) {
$query->set( \'category__not_in\', array( \'103\' ) );
$query->set( \'posts_per_page\', 1 );
}
}
add_action( \'pre_get_posts\', \'wpse102566_pre_get_posts\' );