2015-01-25 4 views
0

Я схожу с ума из-за этого ... Мне нужно сделать групповой поиск bbPress, чтобы найти только те группы, где определенная строка находится внутри мета-поля.Как найти группу, где мета-поле равно определенной строке с помощью 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 
     } 
    } 
+1

Просто ножевое в темноте, но попробуйте ' 'значение' => '$ _REQUEST [ "s"]','. Также поставьте эхо в $ _REQUEST ['s'] внутри функции, чтобы убедиться, что она есть. –

+0

Opps ... вы говорите «внутри мета поля», то есть не '='. так что вы ищете LIKE вместо этого? –

+0

, но тогда '' $ _REQUEST ["s"] ''будет взято буквально, также $ _REQUEST [' s '] имеет значение, которое я ищу ... любую другую идею? :) – andrux

ответ

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, ваши комментарии в конечном итоге заставило меня понять, что ошибка :)

+0

Lol, well done. –

+0

не могли бы вы взглянуть на эту надежду, что сможете решить мою проблему. Http://stackoverflow.com/questions/30939788/how-set-the-scope-for-the-ajax-query-with-buddy-press-meta-query –