/*
use only 5 letters
*/
add_action( 'template_redirect', 'custom_use_alphabet', 100 );
add_action( 'woocommerce_product_options_lottery', 'custom_use_alphabet', 100 );
add_action( 'export_lottery_history_with_extra_info','custom_use_alphabet', 100 );
function custom_use_alphabet( $post_id = false ){
if( is_product() || is_admin() ){
$post_id = !$post_id ? get_the_ID() : $post_id;
if( get_post_meta( $post_id , '_lottery_pick_number_alphabet', true ) === 'yes' ){
global $wc_lottery_pn;
remove_filter( 'ticket_number_display_html', array( $wc_lottery_pn->plugin_public, 'change_ticket_numbers_to_alphabet'), 10 );
remove_filter( 'ticket_number_tab_display_html', array( $wc_lottery_pn->plugin_public, 'change_ticket_tab_to_alphabet'), 10 );
add_filter( 'ticket_number_display_html', 'custom_change_ticket_numbers_to_alphabet', 10, 2 );
//add_filter( 'ticket_number_tab_display_html', 'custom_change_ticket_numbers_to_alphabet', 10, 2 );
}
}
}
function custom_change_ticket_numbers_to_alphabet( $ticket_number, $product ){
$_ticket_number = $ticket_number;
if( ! $product || !$ticket_number ) {
return $ticket_number;
}
$max_tickets = intval( $product->get_max_tickets() );
$tabnumbers = get_post_meta( $product->get_id() , '_lottery_pick_number_tab_qty', true );
$tabnumbers = $tabnumbers ? intval( $tabnumbers ) : 100;
if ( $max_tickets > $tabnumbers * 5 ){
$tabnumbers = ceil ( $max_tickets / 5 );
}
$tabnumbers == apply_filters( 'lottery_numbers_to_alphabet_number_per_letter', $tabnumbers );
$alphabet = range('A', 'E');
$in = ( intval(( $ticket_number - 1 ) /$tabnumbers ) );
if($in > 0 ){
$ticket_number = $ticket_number - ( $tabnumbers * $in );
}
$is_100 = $ticket_number % 100;
if ($ticket_number === '00' && $is_100 === 0 ){
$ticket_number = '100';
}
$ticket_number = ltrim($ticket_number, 0 );
if( isset( $alphabet[$in] ) ){
$ticket_number = $alphabet[$in].$ticket_number;
} else {
return $_ticket_number;
}
return $ticket_number;
}
Comments