WordPress中的get_query_var函数,是用来获取全局变量 $wp_query
对象使用的 WP_Query 类中的公开查询参数。
get_query_var( string $var, mixed $default = '' )
参数
$var
(字符串) (必须) 要检索的变量键。
$default
(mixed) (可选) 如果未设置查询变量,则返回。
默认值:空。
返回值
(mixed) 查询变量的内容。
更多信息
Get_query_var()只检索WP_Query识别的公共查询变量。这意味着,如果使用自己的查询变量创建自己的自定义URL,如果不做进一步的工作,get_query_var()将不会检索它们(请参阅下面)。
为了能够添加和使用您自己添加到URL的自定义查询vars(例如: “http://mysite.com/some_page/?my_var=foo” – for example using add_query_arg()) 您需要将它们添加到WP_Query可用的公共查询变量中。它们是在WP_Query实例化时生成的,但幸运的是,在它们实际用于填充WP_Query的$query_vars属性之前,它们通过过滤器‘query_vars’传递。
因此,要将新的定制查询变量公开给WP_Query钩子到‘query_vars’过滤器中,将查询变量添加到过滤器传递的$vars数组中,并记住将数组作为筛选器函数的输出返回。见下文:
function themeslug_query_vars( $qvars ) { $qvars[] = 'custom_query_var'; return $qvars; } add_filter( 'query_vars', 'themeslug_query_vars' );
简单示例
获取当前页面分页编号
$paged = get_query_var( 'paged', 1 ); echo 'Currently Browsing Page ', $paged;
要获取静态首页(页面模板)上的当前分页编号,必须使用“page”查询变量:
$paged = get_query_var( 'page', 1 ); echo 'Currently Browsing Page ', $paged, ' on a static front page';
注意:查询变量‘page’保存单个分页POST或Page的分页号,其中包含POST内容中的Quicktag。
可选参数如下(包括但不限于)
’error’ ’m’ ‘p’ ’post_parent’ ’subpost’ ’subpost_id’ ’attachment’ ’attachment_id’ ’name’ ’static’ ’pagename’ ’page_id’ ’second’ ’minute’ ’hour’ ’day’ ’monthnum’ ’year’ ’w’ ’category_name’ ’tag’ ’cat’ ’tag_id’ ’feed’ ’tb’ ’paged’ ’comments_popup’ ’meta_key’ ’meta_value’ ’preview’ ’s’ ’sentence’ ’fields’