get_query_var 获取WordPress查询变量

发布于:
更新时间:2020-10-27

功能描述

获取全局变量 $wp_query 对象使用的 WP_Query 类中的公开查询参数。

使用说明

get_query_var( $var );

参数

参数数据类型是否必需描述默认值
$var字符串需要获取的查询变量的名称

返回值

(mixed)
返回参数值,如果参数没有设置,返回空

使用示例

获取当前分页数

<?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' );

我们提供 WordPress主题和插件定制开发服务

本站长期承接 WordPress主题、插件、基于 WooCommerce 的商店商城开发业务。 我们有 10 年WordPress开发经验,如果你想 用WordPress开发网站, 请联系微信: iwillhappy1314,或邮箱: amos@wpcio.com 咨询。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

*