首页 > 解决方案 > 在 Wordpress 中获取 url 参数 get_query_var() 什么都不做

问题描述

Wordpress codex 说当我使用此代码将变量注册到 WP_Query 时,我可以使用 get_query_var() 访问 URL 参数

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

https://codex.wordpress.org/Function_Reference/get_query_var

但这对 URL 不起作用

https://example.com/contact-form/contact-de/?i_id=12345

没有给我任何 id 参数。

<?php
function add_query_vars_filter( $vars ) {
  $vars[] = "i_id";
  return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );

$i_id = get_query_var('i_id');
var_dump($i_id);

总是打印 string(0) ""

我在这里做错了什么?

标签: wordpress

解决方案


尝试将此部分移动到您的子主题的functions.php:

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

并将这部分保留在您的模板中:

$i_id = get_query_var('i_id');
var_dump($i_id);

推荐阅读