多亏了你的建议,我启用了wp\\U调试并发现了插件的缺陷。我有一个按投票对帖子进行排序的过滤器。当sort
URL参数已启用。
add_filter( \'posts_where\', \'votes\', 10, 2 );
我以前
Undefined index: sort
所以我修改了我的函数,首先检查变量是否已设置。
function votes( $where, $query )
{
$sort = array_key_exists(\'sort\', $query->query_vars) ? $_GET[\'sort\'] : null;
if ( isset($sort) ) {
$where .= " AND $sort >= votes";
}
return $where;
}
这很好,但我不确定它是否正确。我想知道是否有更好的方法来做到这一点。
最合适的回答,由SO网友:Jeff Stieler 整理而成
已命名的变量$query
实际上是应用了筛选器的WP\\u查询实例。
您只需调用其函数get
检索查询变量。
例如:
function votes( $where, $query )
{
$sort = $query->get(\'sort\');
if (!empty($sort)
$where .= " AND $sort >= votes";
return $where;
}