如何从Event Calendar插件Tickets扩展获取所有票种列表?
获取The Events Calendar Tickets所有票种列表的解决方案
核心解决方案:使用tribe_tickets_get_tickets()函数
这个官方函数专门用于获取指定事件下的所有票种,无论是否有用户购买,完全匹配你的需求。用法如下:
// 获取当前事件ID(事件详情页可直接用get_the_ID(),否则替换为目标事件ID) $event_id = get_the_ID(); // 获取该事件下所有票种对象 $tickets = tribe_tickets_get_tickets( $event_id ); $ticket_list = array(); if ( ! empty( $tickets ) ) { foreach ( $tickets as $ticket ) { // 提取票种名称存入数组,也可按需获取ID、价格等字段(如$ticket->ID、$ticket->price) $ticket_list[] = $ticket->name; } } // 输出目标格式数组 print_r( $ticket_list );
执行后会得到你需要的数组格式:
Array ( [0] => ticket 1 [1] => ticket 2 )
按需筛选票种
如果需要区分RSVP票和付费票,可以使用细分函数:
- 获取所有RSVP票:
tribe_tickets_get_rsvp_tickets( $event_id ) - 获取所有付费票:
tribe_tickets_get_paid_tickets( $event_id )
安全检查
为避免插件未激活导致的函数未定义错误,建议加上函数存在判断:
if ( function_exists( 'tribe_tickets_get_tickets' ) ) { // 上述获取票种的代码 }
内容的提问来源于stack exchange,提问作者Jean-Pierre TR
相关产品推荐
相关产品推荐

