2014-01-20 3 views
0

Я использую BuddyPress 1.8.1BuddyPress Group активность Loop Тип фильтр активность

Когда группа домашней страницы загрузку я хочу показать только «activity_update» и «joined_group» деятельности в деятельности Loop.

Это мой код операции. Это стандартный код цикла.

<?php if (bp_has_activities(bp_ajax_querystring('activity'))) : ?> 
    <?php while (bp_activities()) : bp_the_activity(); ?> 

     <?php locate_template(array('activity/entry.php'), true, false); ?> 

    <?php endwhile; ?> 
<?php endif; ?> 

Как отфильтровать эти действия при загрузке страницы?

ответ

2

Я создал эту функцию на странице bp-custom.php.

function filtering_activity_default($query) { 
    if (empty($query) && empty($_POST)) { 
    $query = 'action=activity_update,joined_group'; 
    } 
    return $query; 
} 

add_filter('bp_ajax_querystring', 'filtering_activity_default', 999); 

Это работает для меня, как и ожидалось.

0

Используйте фильтры: BP Codex

В вашем случае, это было бы

if (bp_has_activities('action=activity_update,joined_group')) : 

bp_has_activities используется как для деятельности и групповой деятельности.

Так что если вы только хотите, чтобы применить фильтр к групповой деятельности, вы можете:

  • использование bp_is_group(), чтобы определить, если вы находитесь на странице группы.
  • или переопределить шаблон, используемый для групповой деятельности.
+0

У меня есть раскрывающийся список фильтрации активности. После добавления этого кода он не работает правильно. –

+0

@ Sassi У меня такая же проблема. У вас есть решение? –

 Смежные вопросы

  • Нет связанных вопросов^_^