警告:urlencode()要求参数1为字符串,给出数组

时间:2012-07-13 作者:Yanick Rochon

我已经发布了question 在StackOverflow(很抱歉出现交叉链接)上,当我努力寻找解决方案时,我偶然发现了以下警告:

警告:urlencode()要求参数1为字符串,数组在/var/www/…中给出/httpdocs/wp包括/格式化。php在线3192

做回溯,我发现它起源于query.php :

wp_includes/query.php, 第1710行。。。1712年

if ( isset( $t->rewrite[\'hierarchical\'] ) && $t->rewrite[\'hierarchical\'] ) {
     $q[$t->query_var] = wp_basename( $q[$t->query_var] );
}
现在,我得到了这个错误,因为我的URL参数之一是一个类别数组,我试图搜索并返回分配了一个或多个已定义类别的所有产品(自定义帖子类型)。

WordPress为什么要打电话basename 在数组上GET 我无法理解参数。有人愿意跟我解释一下吗?谢谢

1 个回复
最合适的回答,由SO网友:Milo 整理而成

我不确定到底发生了什么,但我可以根据一些上下文线索进行猜测。该特定功能是parse_tax_query. 它似乎在检查分类法是否是分层的,我假设它需要一个字符串,该字符串可能是术语的父/子路径,因此它使用basename来获取实际查询的术语-下一行是$term = $q[$t->query_var];

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post