'list/default.php', 'list' => 'list/default.php', 'missionary' => 'list/missionary.php', 'minimal' => 'list/minimal.php' ];
$file = ABPET_Function::template_path( $templates[ $style ] ?? $templates['grid'] );
$hook_name = ( $style == 'grid' || $style == 'list' ) ? 'default' : $style;
?>
'list/default.php',
'list' => 'list/default.php',
'missionary' => 'list/missionary.php',
'minimal' => 'list/minimal.php',
];
$file = ABPET_Function::template_path( $templates[ $style ] ?? $templates['grid'] );
$hook_name = ( $style == 'grid' || $style == 'list' ) ? 'default' : $style;
?>
'',
"cat_id" => '',
"loc_id" => '',
"organizer_id" => '',
"brand_id" => '',
"speaker_id" => '',
"style" => 'grid',
"slider_style" => 'gallery',
"show" => '',
"column" => 3,
'sort' => 'ASC',
"pagination" => "yes",
"pagination-style" => "live",
'form' => 'inline',
);
}
private static function normalize_attributes( $attribute ): array {
$params = shortcode_atts( self::default_attribute(), is_array( $attribute ) ? $attribute : array() );
$params['post_id'] = absint( $params['post_id'] );
$params['cat_id'] = absint( $params['cat_id'] );
$params['loc_id'] = absint( $params['loc_id'] );
$params['organizer_id'] = absint( $params['organizer_id'] );
$params['brand_id'] = absint( $params['brand_id'] );
$params['speaker_id'] = absint( $params['speaker_id'] );
$params['column'] = min( 10, max( 1, absint( $params['column'] ) ?: 3 ) );
$params['show'] = min( 100, max( 0, absint( $params['show'] ) ) );
$params['style'] = in_array( $params['style'], array( 'grid', 'list', 'missionary', 'minimal' ), true ) ? $params['style'] : 'grid';
$params['slider_style'] = in_array( $params['slider_style'], array( 'gallery', 'slider' ), true ) ? $params['slider_style'] : 'gallery';
$params['sort'] = strtoupper( (string) $params['sort'] ) === 'DESC' ? 'DESC' : 'ASC';
$params['pagination'] = in_array( strtolower( (string) $params['pagination'] ), array( 'no', 'false', 'off', '0' ), true ) ? 'no' : 'yes';
$params['pagination_style'] = in_array( $params['pagination-style'], array( 'live', 'number' ), true ) ? $params['pagination-style'] : 'live';
return $params;
}
}
new ABPET_Shortcodes();
}