出于某种原因,我只能检索 URL http://localhost/coffeesite/?product_category=coffee&brand=bourbon 中的第一个变量,在本例中为“product_category” .
我正在输出 javascript 以确认我已设置变量,但同样,只会提醒咖啡,而不提醒品牌。我正在使用 WordPress 的“get_query_var”。请参阅下面的代码:
<?php
echo '<script> product_category = "' . get_query_var('product_category') . '";
brand = "' . get_query_var('brand') . '";
alert(product_category);
alert(brand);
</script>';
?>
任何帮助将不胜感激 - 我正在努力解决它!
最佳答案
既然你正在测试,也许你可以直接测试php?函数 get_query_var 只是通用 php 数组 $_GET 的包装。您应该在 $_GET['product_category'] 和 $_GET['brand'] 处提供这些值。但与其假设一切都在它应该在的地方,为什么不检查一下你实际拥有的东西呢?
<?php
add_settings_error("var-test", "var-test", implode(", ", array_keys($_GET)));
?>
免责声明:我是 Drupal 开发人员,不是 Wordpress,但它们都是 php。 我在这里使用记录的消息工具,以获得更干净的 php 代码。 https://codex.wordpress.org/Function_Reference/add_settings_error 如果您愿意,您仍然可以使用 JavaScript:
<?php
echo '<script> alert( '. implode(", ", array_keys($_GET)) .');
</script>';
?>
第二种可能性。使用包装函数而不是原始核心的原因是它在包装中提供的功能。我的正常假设是卫生和安全过滤器,这对于测试来说很差,但对于生产环境至关重要。然而,稍微阅读一下您正在使用的函数,就会发现它只返回已知查询对象的值,如果您在 url 中使用自定义变量,则应该注册它们。 https://codex.wordpress.org/Function_Reference/get_query_var 您注册了“品牌”吗?
关于javascript - 在 WordPress 中,如何将多个变量传递到 URL 并检索它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30607130/