如何使用bbPress搜索元字段等于特定字符串的组?

时间:2015-01-25 06:54:16

标签: wordpress bbpress

我为此疯狂......我需要进行bbPress组搜索才能找到特定字符串在元字段内的那些组。

我尝试了我在这里找到的内容:https://codex.buddypress.org/plugindev/group-meta-queries-usage-example/

我使用了不同的元字段,但尝试实现它应该是这样。我可以更新和读取元值,但我无法使meta_query工作。

我可以看到filter_ajax_querystring函数正在执行,因为我在那里放置了几个echo来测试,搜索词也在那里,它只找不到带有元键的组 - 它就在那里。

任何可以解雇的人?我错过了什么?

这是我的群组循环:

    $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
        }
    }

1 个答案:

答案 0 :(得分:1)

好的,我觉得很蠢....

这就是问题:

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 ) ) )

感谢Gavin,你的评论最终让我意识到这个错误:)