如何使用 bbPress 搜索元字段等于特定字符串的组?
How to search for a group where a meta field equals a specific string with bbPress?
我快疯了...我需要进行 bbPress 组搜索以仅查找元字段中包含特定字符串的那些组。
我尝试了在这里找到的内容:https://codex.buddypress.org/plugindev/group-meta-queries-usage-example/
我使用了不同的元字段,但尝试按应有的方式实现它。我可以更新和读取元值,但我无法使 meta_query 正常工作。
我可以看到 filter_ajax_querystring 函数正在执行,因为我在那里放了几个 echo 来测试,搜索词也在那里,只是没有找到带有 meta key 的组- 它就在那里。
谁能给点启发?我错过了什么?
这是我的群组循环:
$params['meta_query'] = array(
array(
'key' => 'bp_symbol_code',
'value' => $_REQUEST['s'],
'compare' => '='
)
);
if ( bp_has_groups( bp_ajax_querystring( 'groups' ) . '&' . http_build_query( $params ) ) ) {
while ( bp_groups() ) {
bp_the_group();
// redirect after header definitions - cannot use wp_redirect( $location );
?>
<script type="text/javascript">
<!--
window.location= '<?php echo bp_group_permalink(); ?>';
//-->
</script>
<?php
}
}
好吧,我觉得自己很蠢....
这就是问题所在:
if ( bp_has_groups( bp_ajax_querystring( 'groups' ) . '&' . http_build_query( $params ) ) )
bp_has_groups() 正在接收数组和查询字符串...
所以解决方案就是把上面的改成这样:
if ( bp_has_groups( array_merge( bp_ajax_querystring( 'groups' ), $params ) ) )
谢谢加文,你的评论最终让我意识到了这个错误:)
我快疯了...我需要进行 bbPress 组搜索以仅查找元字段中包含特定字符串的那些组。
我尝试了在这里找到的内容:https://codex.buddypress.org/plugindev/group-meta-queries-usage-example/
我使用了不同的元字段,但尝试按应有的方式实现它。我可以更新和读取元值,但我无法使 meta_query 正常工作。
我可以看到 filter_ajax_querystring 函数正在执行,因为我在那里放了几个 echo 来测试,搜索词也在那里,只是没有找到带有 meta key 的组- 它就在那里。
谁能给点启发?我错过了什么?
这是我的群组循环:
$params['meta_query'] = array(
array(
'key' => 'bp_symbol_code',
'value' => $_REQUEST['s'],
'compare' => '='
)
);
if ( bp_has_groups( bp_ajax_querystring( 'groups' ) . '&' . http_build_query( $params ) ) ) {
while ( bp_groups() ) {
bp_the_group();
// redirect after header definitions - cannot use wp_redirect( $location );
?>
<script type="text/javascript">
<!--
window.location= '<?php echo bp_group_permalink(); ?>';
//-->
</script>
<?php
}
}
好吧,我觉得自己很蠢....
这就是问题所在:
if ( bp_has_groups( bp_ajax_querystring( 'groups' ) . '&' . http_build_query( $params ) ) )
bp_has_groups() 正在接收数组和查询字符串...
所以解决方案就是把上面的改成这样:
if ( bp_has_groups( array_merge( bp_ajax_querystring( 'groups' ), $params ) ) )
谢谢加文,你的评论最终让我意识到了这个错误:)