关于query_post导致is_home()、is_paged()等判断失效

2011-12-03 876 0

在主题制作过程中,难免有时候要调整输出文章的条数,从而需要使用到query_post,但是经过今天一翻周折,发现它会引起诸如is_home()、is_paged()、is_single()、is_category()、is_tag()等WP内至函数失效。

通常我们会使用类似如下的代码:

<?php query_posts('showposts=10'); ?>
//我们在开始时加上让他显示10条的操作
<?php while (have_posts()) : the_post(); ?>
//里面是你需要的一些输出什么的,内容我就不详细写了。
<?php endwhile;?>

在运用了query_post后,再进行判断,常常容易引起判断失误,既然我们知道是query_post引起的,为避免这个现象应及时在 endwhile; 后加上 wp_reset_query(); 来跳出query。看如下代码:

<?php query_posts('showposts=10'); ?>
//我们在开始时加上让他显示10条的操作
<?php while (have_posts()) : the_post(); ?>
//里面是你需要的一些输出什么的,内容我就不详细写了。
<?php endwhile;?>
<?php wp_reset_query(); ?>

一切又恢复了往日的宁静。

来自:http://www.ctusky.com/12/0742/

相关文章

MySQL 设置优化记录
来自 WPJAM 的修改,给图片文件名增加时间戳
wordpress 博客使用 CloudFlare 的页面规则缓存设置教程
Better Search Replace – 简单强大易用的数据库替换工具
WordPress获取文章所有图片和图片数量
删除 WooCommerce 产品页中的简介 – Remove Woocommerce Product Short Description

发布评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据