0

私はこれに夢中になっています...特定の文字列がメタフィールド内にあるグループのみを見つけるために、bbPressグループ検索を行う必要があります。

ここで見つけたものを試しました: https://codex.buddypress.org/plugindev/group-meta-queries-usage-example/

別のメタ フィールドを使用していますが、これを実装しようとしました。メタ値を更新して読み取ることはできますが、meta_query を機能させることはできません。

filter_ajax_querystring 関数が実行されていることがわかります。テストするためにいくつかのエコーを配置したためです。検索語もそこにあり、メタ キーを持つグループが見つからないだけで、そこにあります。

光を当てることができる人はいますか?私は何が欠けていますか?

これは私のグループループです:

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

Gavin に感謝します。あなたのコメントのおかげで、最終的にその間違いに気付きました :)

于 2015-01-25T07:14:52.463 に答える