0

我要疯了...我需要进行 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
        }
    }
4

1 回答 1

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

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

于 2015-01-25T07:14:52.463 回答