必看:WordPress的主查询函数-query_posts()

本文共计1100个字,预计阅读时长3分钟。

WordPress 的主查询函数 –query_posts(),因为我正在制作的主题里面多次用到了这个函数 。

query_posts()查询函数决定了哪些文章出现在WordPress主循环(loop)中,正因为如此,query_posts函数仅用于修改主页循环(Loop),而不是在页面上生成次级循环。

如果你希望在主循环外另外生成循环,应该新建独立的WP_Query对象,用这些对象生成循环。

在主循环外的循环上使用query_posts会导致主循环运行偏差,并可能在页面上 显示出你不希望看到的内容。

query_posts()查询函数函数接收大量参数,格式与URL中的参数格式相同(如p=4表示ID为4的文章)。下面就举例说说query_posts函数的一些常用的语法格式。

1.从博客主页上排除某些分类目录

将以下代码添加到index.php文件中,使主页显示的文章可以来自除分类3以外的任何分类。

<?php  
  if (is_home()) {  
    query_posts("cat=-3");  
  }  
?>  

你也可以同时多排除几个分类。

<?php  
  if (is_home()) {  
    query_posts("cat=-1,-2,-3");  
  }  
?>  

2.查询指定文章

用以下语句检索某篇指定文章:

<?php  
//获取ID值为5的文章  
query_posts('p=5');  
?>  

如果你希望在查询语句中使用Read More功能,请将全局变量$more设为0

<?php  
//获取ID值为5的页面  
query_posts('p=5');  
  
global $more;  
//初始化$more  
$more = 0;  
  
//循环查询到的结果  
while (have_posts()) : the_post();  
the_content('Read the full post ?');  
endwhile;  
?>  

3.检索指定页面

用以下语句检索某篇指定页面:

<?php  
query_posts('page_id=7'); //获取页面ID为7的页面  
?>  

或者这样也行

<?php  
query_posts('pagename=about');  
//about就是你分类的类名
?>  

检索子页面时,需要提供子页面及其父页面的别名,用斜线隔开两者。例如:

<?php  
query_posts('pagename=parent/child');  
?>  

上面都是采取 query_posts($query_string) 的形式来调用该函数,下面介绍另一种方法,用数组传递参数变量。

query_posts(array(  
  'cat' => 22,  
  'year' => $current_year,  
  'monthnum' => $current_month,  
  'order' => 'ASC',  
)); 

相比字符串方式,数组形式更加形象直观,不容易出错。

WordPress

wordpress 取当前分类下的子分类

2021-3-8 1:24:55

WordPress

WordPress自判断文章图片或特色图像的调用代码

2021-3-19 18:20:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索