2014-01-20 27 views
0

我使用BuddyPress的1.8.1BuddyPress的小组活动环路滤波器活动类型

在组主页加载我只想显示“activity_update”“joined_group”在活动环路活动。

这是我的活动循环代码。它是标准的循环代码。

<?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我有同样的问题。你有任何解决方案? –