功能描述
获取全局变量 $wp_query 对象使用的 WP_Query 类中的公开查询参数。
Instructions for use
get_query_var( $var );
parameters
parameters | data type | Required or not | descriptive | default value |
---|---|---|---|---|
$var | string (computer science) | be | 需要获取的查询变量的名称 | not have |
return value
(mixed)
返回参数值,如果参数没有设置,返回空
usage example
获取当前分页数
<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<h1>Currently Browsing Page <?php echo $paged; ?></h1>
想要获取静态首页 (或页面模板) 的分页数,我们必须使用 ‘page’ 查询参数:
<?php $paged = (get_query_var('page')) ? get_query_var('page') : 1; ?>
<h1>正在浏览首页中的第 <?php echo $paged; ?> 页</h1>
注意:查询参数 ‘page’ 同时也是使用<!–nextpage–>快捷标签分页的单篇文章或页面的分页查询参数。
注意
get_query_var() 只取回 WP_Query 可识别的公共查询参数,也就是说如果你添加了自定义查询参数,直接通过 get_query_var() 函数是获取不了的。要想获取自定义查询参数的值,我们需要通过使用「query_var」 Filter 添加自定义查询参数。
自定义查询参数
为了使 get_query_var() 对添加了自定义查询参数的URLs起作用, (如: “http://mysite.com/some_page/?my_var=foo” – 使用 add_query_arg() 函数添加的)我们需要把这些自定义查询参数添加到 WP_Query 的公共查询参数中, 实现方式是:实例化 WP_Query 类时,通过「query_vars」Filter 添加自定义查询参数到 $query_vars 中,如下:
function add_query_vars_filter( $vars ){
$vars[] = "my_var";
return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );