首页 > 解决方案 > 如何从作为过滤器结果的 URL 获取 UTM 到页面上的文本?

问题描述

我正在使用插件(目录)。如果我过滤目录,我会得到类似的东西

/?filter_field_age%5B%5D=35&filter_field_regions%5B%5D=America

我想让“35”和“America”作为文本出现在页面上。

我用了

function UTMParam( $atts ) {  
    extract( shortcode_atts( array(
        'param' => 'param',
    ), $atts ) );
    return $_GET[$param];  
}
add_shortcode('UTMParam', 'UTMParam'); 

[UTMParam param='filter_field_age'] [UTMParam param='filter_field_regions']

但它不工作....任何想法????

标签: phpwordpressurlfilterutm

解决方案


你可以使用parse_str,但你必须剥离第/?一个:

$str = '/?filter_field_age%5B%5D=35&filter_field_regions%5B%5D=America';
$query = parse_url($str, PHP_URL_QUERY);
parse_str($query, $output);
print_r($output);

结果 :

[
  'filter_field_age' => [
      0 => '35',
  ],
  'filter_field_regions' => [
      0 => 'America',
  ],
]

推荐阅读