bp_has_activities (|字符串数组args美元='')
初始化活动循环。
描述
根据传递的$args,bp_has_activities ()填充$activities_模板全局,允许使用BuddyPress模板和模板函数显示活动项列表。
参数
- args美元
-
(数组|字符串)(可选)参数用于限制活动循环的内容。大多数参数的格式与BP_Activity_Activity: get (). 但是,由于此处接受的参数的格式在许多方面不同,并且bp_has_activities ()以动态方式确定一些默认参数,这里也列出了所有可接受的参数。参数可以作为一个关联数组传递,或者作为一个URL查询字符串(例如,'user_id=4&display_comments= threading ')。
- “页面”
(国际)获取结果的哪一页。使用page=1而不使用per_page将不会导致分页。默认值:1。 - “per_page”
(int | bool)每页的结果数。默认值:20。 - “页面参数”
(字符串)在分页链接中用作查询参数的字符串。默认值:“acpage”。 - “马克斯”
(int | bool)返回的最大结果数。默认值:false(无限)。 - “字段”
(字符串)要检索的活动字段。'all'获取整个活动对象,'ids'仅获取活动id。默认的“所有”。 - “count_total”
(字符串| bool)如果为true,则运行一个额外的DB查询来计算查询的活动项总数。默认值:false。 - “排序”
(字符串)“ASC”或“DESC”。默认值:“DESC”。 - “排除”
(数组| bool)要排除的活动ID数组。默认值:false。 - “在”
(数组| bool)通过(IN)限制查询的id数组。'in'旨在与其他过滤器参数一起使用。默认值:false。 - “包括”
(数组| bool)要查询的确切活动id数组。提供一个'include'数组将覆盖参数数组中传递的所有其他过滤器。当查看单个活动项的永久链接页面时,此值默认为该项的ID。否则默认为false。 - “meta_query”
(数组)通过传递一个meta_query条件数组来限制activitymeta。看到WP_Meta_Query:查询查询语法说明。 - “date_query”
(数组)通过传递一个date_query条件数组来限制日期。参见第一个参数WP_日期_查询::_构造()的语法。 - “filter_query”
(数组)先进的活性筛选。看到BP_Activity_Query: __construct (). - “搜索术语”
(字符串)按搜索词限制结果。默认值:false。 - “范围”
(字符串)使用BuddyPress预构建过滤器。- 'just-me'检索只属于用户的物品这相当于传递一个'user_id'参数。- 'friends'检索属于用户朋友的物品。- 'groups'检索属于用户所属组的项目。- 'favorites'检索用户最喜欢的活动项目。- '提到'检索用户收到了@-mention的物品。如果'scope'的默认值出现在URL的适当位置,则该值会被设置为上述之一;例如,当访问http://example.com/members/joe/activity/groups/时,'scope'将是'groups'。否则默认为false。 - “user_id”
(int数组| | bool)应该获取其活动的用户的ID。传递单个ID或ID数组。当查看用户资料页(但不是用户的活动子页,如我的连接,我的组等),'user_id'默认为显示的用户的ID。否则默认为false。 - “对象”
(字符串数组| | bool)按组件
列,对于BuddyPress组件通常是组件ID,对于插件通常是插件slug。例如,“组”将把结果限制在与BP group组件相关的部分。接受单个组件字符串或由多个组件组成的数组。当查看单个组的页面时,默认为“组”,我的组活动过滤器,或用户配置文件的活动>组过滤器。否则默认为false。 - “行动”
(字符串数组| | bool)按类型
列,这是一个字符串分类的活动项目(如,'new_blog_post', 'created_group')。接受以逗号分隔的字符串或类型数组。默认值:false。 - “primary_id”
(int数组| | bool)按item_id
列。'primary_id'的含义在组件/类型之间是不同的;例如,在'created_group'的情况下,'primary_id'是组的ID。接受单个ID或多个ID的数组。当查看单个组时,默认为当前组ID。当查看用户的组流页面时,默认为用户组的id。否则默认为false。 - “secondary_id”
(int数组| | bool)按辅助项目id
列。“secondary_id”的含义在不同的组件/类型之间是不同的。接受单个ID或多个ID的数组。默认值为false。 - “抵消”
(国际)只返回ID大于或等于这个的活动项。请注意,提供偏移量将禁用分页。默认值:false。 - “display_comments”
(字符串| bool)如何处理活动注释。可能的值:- ' threading ' -注释出现在线程树中,在它们的父项目下。- 'stream' -活动feed以扁平的方式呈现,评论按时间顺序排列在其他活动项目旁边。- false -根本不获取活动注释。默认值:“线程”。 - “show_hidden”
(保龄球)是否显示标记为hide_sitewide的项目。默认为false,除非在以下情况:-用户正在查看他所属的非公开群组的活动提要。 - “垃圾邮件”
(字符串| bool)垃圾邮件的状态。'ham_only', 'spam_only',或false显示所有活动,而不管垃圾邮件状态。默认值:“ham_only”。 - “populate_extras”
(保龄球)是否预取查询项的活动元数据。默认值:true。
默认值:“”
- “页面”
返回
(保龄球)当发现活动时返回true,否则返回false。
源
文件:bp-activity / bp-activity-template.php
函数bp_有活动($args=“”){global$activities_template;//Get BuddyPress.$bp=BuddyPress();//**智能默认值。*///用户筛选。$User_id=bp_displated_User_id()?bp_displated_User_id():false;$privacy=array('public');if(is_User_loggein()){$privacy[]='loggedin';if(bp_处于活动状态('friends'))&&&!bp_is_group()&!bp_is_activity_directory()){$is_friend=friends\u检查友谊(获取当前用户id(),$user_id);if($is_friend){$privacy[]='friends'}否则if(bp_is活动('friends')&&bp_is_activity_directory()){$privacy[]='friends}如果(bp_是我的个人资料())='privacy[]='onlym}//组筛选。如果(bp_是_组()){$object=$bp->groups->id;$primary_id=bp_get_current_Group_id();$show_hidden=(bool)(组是_user_成员(bp_loggedin_user_id(),$primary_id)| bp_current_user_can('bp_medium'))}否则{$object false;$primary_id=false;$show_hidden=false;}//默认作用域应识别自定义段塞。$scope=array\u key\u exists(bp\u current\u action(),(array)$bp->loaded\u components.$bp->loaded\u components[bp\u current\u action()]:bp\u current\u action();//在单个项目页面上支持永久链接:/groups/my group/activity/124/$include=bp\u is\u is\u current\u action(bp\u get\u activity\u slug())?bp_action_变量(0):false;$search_terms_default=false;$search_query_arg=bp_core_get_component_search_query_arg('activity');if(!empty($_REQUEST[$search_query_arg]){$search_terms_default stripsals($_REQUEST[$search_query arg]))//**Parse Args.*///注意:用于筛选的任何参数都可以是单个值,也可以是多个//值,以逗号分隔。$r=bp_Parse_Args($Args,array)('display_comments'=>'threaded',//False表示无,stream/threaded-在流中或项目下显示注释。'include'=>$include,//传递以逗号分隔的活动id或id字符串。'exclude'=>False,//以逗号分隔的活动id列表或数组。'in'=>False,//以逗号分隔的活动id among要搜索的页面。'sort'=>'DESC',//sort DESC或ASC。//第'=>1页,//要加载的页面。'per\u page'=>20页,//每页的项目数。'page\u arg'=>'acpage',//请参阅https://buddypress.trac.wordpress.org/ticket/3679. 'max'=>false,//返回的最大数量。'fields'=>all','count\u total'=>false',show\u hidden'=>$show\u hidden,//显示一个站点范围内隐藏的活动项目?'spam'=>'ham_only',//隐藏垃圾邮件项目//范围-为用户预构建的活动筛选器(朋友/组/收藏夹/提及).'scope'=>$scope,//筛选'user\u id'=>$user\u id,//要筛选的用户id。'object'=>$object,//要筛选的对象,例如组、配置文件、状态、朋友。'action'=>false,//要筛选的操作,例如活动更新、配置文件更新。'primary\u id'=>$primary\u id,//要筛选的对象id,例如组id或博客id等。'secondary\u id'=>false,//要筛选的次要对象ID,例如帖子ID。'offset'=>false,//只返回项目>=此ID。'after'=>false,//只返回自Y-m-d H:i:s日期以来记录的项目。'privacy'=>$privacy,//要筛选的隐私-public、onlyme、loggedin、friends、media。'meta\u query'=>false,//筛选活动元。请参阅WP\u meta\u query对于格式。'date\u query'=>false,//按日期过滤。有关格式,请参阅WP\u date\u查询的第一个参数。'Filter\u query'=>false,//高级过滤。有关格式,请参阅BP\u Activity\u查询。//搜索。'search\u terms'=>search\u terms\u default,'update\u meta\u cache'=>true,),'has\u activities');//**智能覆盖。*///转换“显示注释”的各种值//这允许通过?显示注释=0//或=none或=false禁用注释。最后的true是严格的类型检查。请参阅#5029。如果(在_数组中($r['display\u comments'],数组(0,'0','none','false'),true)){$r['display\u comments']=false;}//如果传递了偏移量,则忽略分页。如果(!empty($r['offset']){$r['page']=0;}//搜索条件。如果(!empty($u REQUEST['s'])和空($r['Search\u terms']){$r['Search\u terms']=$u REQUEST['s'];}//不超过每页的最大值。如果(!empty($r['max'])&($r['max'])int)$r['per page'>>(int){r['max']=$r['max'];}/***筛选BuddyPress是否应启用过滤器支持。**默认情况下禁用早期BP版本中对基本过滤器的支持。*若要启用,请放入添加过滤器('BP_活动\u启用过滤器\u支持','uu返回值\u true'))*进入bp-custom.php或您的主题的functions.php.*@自BuddyPress 1.6.0以来**@param bool$如果BuddyPress应启用过滤器支持,则值为True.*/if(isset($GET['afilter'])和apply_filters('bp_activity_enable_afilter_support',false)){r['filter'=array('object=>$GET['afilter'])}elseif(!empty(!r['user_id'))| |!empty($r['object'])| |!empty($r['action'])| |!empty($r['primary_id'))| |!empty($r['offset'])| |!empty( $r['since'] ) ) { $r['filter'] = array( 'user_id' => $r['user_id'], 'object' => $r['object'], 'action' => $r['action'], 'primary_id' => $r['primary_id'], 'secondary_id' => $r['secondary_id'], 'offset' => $r['offset'], 'since' => $r['since'] ); } else { $r['filter'] = false; } // If specific activity items have been requested, override the $hide_spam // argument. This prevents backpat errors with AJAX. if ( ! empty( $r['include'] ) && ( 'ham_only' === $r['spam'] ) ) { $r['spam'] = 'all'; } /* * Query */ $activities_template = new BP_Activity_Template( $r ); /** * Filters whether or not there are activity items to display. * * @since BuddyPress 1.1.0 * * @param bool $value Whether or not there are activity items to display. * @param string $activities_template Current activities template being used. * @param array $r Array of arguments passed into the BP_Activity_Template class. */ return apply_filters( 'bp_has_activities', $activities_template->has_activities(), $activities_template, $r ); }
更新日志
版本 | 描述 |
---|---|
BuddyPress 1.0.0 | 介绍了。 |