使用 get_query_var 函數(shù)獲取 WordPress 查詢(xún)變量

發(fā)布于:
更新時(shí)間:2025-09-01

本文詳細(xì)介紹了WordPress中g(shù)et_query_var函數(shù)的使用方法,包括如何獲取分頁(yè)數(shù)、靜態(tài)首頁(yè)的分頁(yè)參數(shù)以及自定義查詢(xún)參數(shù)的設(shè)置。通過(guò)示例代碼和注意事項(xiàng),幫助開(kāi)發(fā)者高效使用該函數(shù)。

功能描述

獲取全局變量 $wp_query 對(duì)象使用的 WP_Query 類(lèi)中的公開(kāi)查詢(xún)參數(shù)。

使用說(shuō)明

get_query_var( $var );

參數(shù)

參數(shù)數(shù)據(jù)類(lèi)型是否必需描述默認(rèn)值
$var字符串需要獲取的查詢(xún)變量的名稱(chēng)無(wú)

返回值

(mixed)
返回參數(shù)值,如果參數(shù)沒(méi)有設(shè)置,返回空

使用示例

獲取當(dāng)前分頁(yè)數(shù)

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
<h1>Currently Browsing Page <?php echo $paged; ?></h1>

想要獲取靜態(tài)首頁(yè) (或頁(yè)面模板) 的分頁(yè)數(shù),我們必須使用 ‘page’ 查詢(xún)參數(shù):

<?php $paged = (get_query_var('page')) ? get_query_var('page') : 1; ?>
<h1>正在瀏覽首頁(yè)中的第 <?php echo $paged; ?> 頁(yè)</h1>

注意:查詢(xún)參數(shù) ‘page’ 同時(shí)也是使用<!–nextpage–>快捷標(biāo)簽分頁(yè)的單篇文章或頁(yè)面的分頁(yè)查詢(xún)參數(shù)。

注意

get_query_var() 只取回 WP_Query 可識(shí)別的公共查詢(xún)參數(shù),也就是說(shuō)如果你添加了自定義查詢(xún)參數(shù),直接通過(guò) get_query_var() 函數(shù)是獲取不了的。要想獲取自定義查詢(xún)參數(shù)的值,我們需要通過(guò)使用「query_var」 Filter 添加自定義查詢(xún)參數(shù)。

自定義查詢(xún)參數(shù)

為了使 get_query_var() 對(duì)添加了自定義查詢(xún)參數(shù)的URLs起作用, (如: “http://mysite.com/some_page/?my_var=foo” – 使用 add_query_arg() 函數(shù)添加的)我們需要把這些自定義查詢(xún)參數(shù)添加到 WP_Query 的公共查詢(xún)參數(shù)中, 實(shí)現(xiàn)方式是:實(shí)例化 WP_Query 類(lèi)時(shí),通過(guò)「query_vars」Filter 添加自定義查詢(xún)參數(shù)到 $query_vars 中,如下:

function add_query_vars_filter( $vars ){
    $vars[] = "my_var";
    return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );

我們提供 WordPress主題和插件定制開(kāi)發(fā)服務(wù)

本站長(zhǎng)期承接 WordPress主題、插件、基于 WooCommerce 的商店商城開(kāi)發(fā)業(yè)務(wù)。 我們有 10 年WordPress開(kāi)發(fā)經(jīng)驗(yàn),如果你想 用WordPress開(kāi)發(fā)網(wǎng)站, 請(qǐng)聯(lián)系微信: iwillhappy1314,或郵箱: [email protected] 咨詢(xún)。

發(fā)表回復(fù)

您的郵箱地址不會(huì)被公開(kāi)。 必填項(xiàng)已用 * 標(biāo)注

*