Уникальный код последовательного бронирования

У меня есть ситуация, когда я создаю сайт для резервирования тура, я создал резервирование cpt, и каждый раз, когда пользователь делает оговорки, это автоматически публикуется как новое резервирование.

Теперь мне нужен лучший способ найти каждую резервацию с уникальным номером, другая ситуация заключается в том, что предыдущая система уже имела последовательный номер, поэтому мне понадобится этот код для начальной точки, например:

предыдущий последний номер системы: 3000

новая стартовая точка системы wp: 3001

новая резервация: 3002

новая резервация: 3003

и так далее…

У меня есть смутное представление о том, как добиться этого. Создайте настраиваемое поле для кода резервирования, каждый раз, когда резервирование помещается, проверяйте для последнего поля резервирования и увеличивайте его на единицу, но я не знаю, является ли это лучшим способом сделать это.

Solutions Collecting From Web of "Уникальный код последовательного бронирования"

Одно из решений:

В плагине вы создаете опцию активации, чтобы сохранить свой порядковый номер:

/* Plugin Name: Reservation Increment Description: test */ /** * * Name : myplugin_activate * Description : Activation function * * @params * @return * **/ function myplugin_activate() { update_option('reservation_increment',3000); } register_activation_hook( __FILE__, 'myplugin_activate' ); 

Теперь вы должны обновить это значение и связать его с новым CPT при создании нового резервирования:

 /** * * Name : update_reservation_sequence * Description : Updates the reservation unique incremential number * * @params * @return * **/ function update_reservation_sequence ($post_id, $post, $update){ $slug = 'reservation_cpt'; // If this isn't a 'reservation_cpt' post, don't update it. if ( $slug != $post->post_type || $update) { return; } $increment = get_option('reservation_increment') +1; if ( ! add_post_meta( $post_id, 'reservation', $increment, true ) ) { update_post_meta ( $post_id, 'reservation', $increment ); } update_option('reservation_increment',$increment); return; } add_action( 'save_post', 'update_reservation_sequence',10,3 ); 

И затем, чтобы получить доступ к нему в вашем шаблоне single-reservation.php:

 echo "<p>Reservation number : ".get_post_meta( get_the_ID(), 'reservation', true )."</p>"; 

Надеюсь, это поможет!