get_query_var 获取WordPress查询变量

Posted in:
Update time:2020-10-27

功能描述

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

Instructions for use

get_query_var( $var );

parameters

parametersdata typeRequired or notdescriptivedefault value
$varstring (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' );

We offer WordPress Themes and Plugins Custom Development Services

This site has long undertaken WordPress themes, plugins, WooCommerce-based store mall development business. We have 10 years of experience in WordPress development, if you want to Developing Websites with WordPress, please contact WeChat: iwillhappy1314 or email: amos@wpcio.com for inquiries.

发表回复

Your email address will not be published. 必填项已用 * 标注

*