📜  WordPress 将查询字符串添加到 URL - PHP (1)

📅  最后修改于: 2023-12-03 14:48:32.664000             🧑  作者: Mango

WordPress 将查询字符串添加到 URL - PHP

在 WordPress 中,我们可以通过添加查询字符串参数来扩展 URL。查询字符串是在 URL 尾部附加额外数据的方法。这对于在 WordPress 网站中使用自定义功能非常有用,如过滤文章、搜索等等。

使用 add_query_arg() 函数添加查询字符串

WordPress 提供了一个方便的函数 add_query_arg(),可用来在 URL 中添加查询字符串。该函数接收两个参数:第一个是要添加到 URL 的键,第二个是该键对应的值。

以下是如何在 URL 中添加查询字符串的示例代码:

$url = add_query_arg( 'key', 'value', 'https://example.com' );

该代码将在 https://example.com 的 URL 其结尾处添加查询字符串 ?key=value

您还可以在同一个 URL 上添加多个查询字符串。以下是示例代码:

$args = array(
    'key1' => 'value1',
    'key2' => 'value2',
);
$url = add_query_arg( $args, 'https://example.com' );

该代码将在 https://example.com 的 URL 其结尾处添加查询字符串 ?key1=value1&key2=value2

使用 remove_query_arg() 函数删除查询字符串

add_query_arg() 函数相对应,我们还可以使用 remove_query_arg() 函数来从 URL 中删除查询字符串。该函数接收两个参数:第一个是要删除的键,第二个是包含查询字符串的网址。

以下是如何删除 URL 中的查询字符串的示例代码:

$url = remove_query_arg( 'key', 'https://example.com?key=value' );

该代码将删除查询字符串中的 key,使 URL 变为 https://example.com

除此之外,remove_query_arg() 函数还支持在同一次调用中删除多个查询字符串。

query_vars 过滤器

最后,我们还可以使用 query_vars 过滤器来添加我们自己的查询字符串。

function add_custom_query_vars( $vars ) {
    $vars[] = 'custom_key';
    return $vars;
}
add_filter( 'query_vars', 'add_custom_query_vars' );

您需要在 add_filter() 函数中指定两个参数:第一个是要过滤的钩子名,第二个是我们要添加的查询字符串。

这样就可以使用 get_query_var( 'custom_key' ) 函数来检索查询字符串了。

结论

添加查询字符串到 URL 的过程是一个非常有用的技术,以便我们在 WordPress 中添加自定义的功能。我们可以使用 add_query_arg()remove_query_arg() 函数和 query_vars 过滤器来轻松地添加或删除查询字符串。