Пользовательское поле по умолчанию со счетчиком

У меня есть пользовательский тип сообщения, называемый машиной, и настраиваемое поле «reference_number», которое я хочу, это добавить значение по умолчанию в настраиваемое поле при создании новой машины и показать это значение перед сохранением.

Вот что я придумал до сих пор.

function set_default_meta($post_ID){ $current_field_value = get_post_meta($post_ID,'reference_number',true); // this needs to be like, machine 1, machine 2, .. $default_meta = 'machine '; if ($current_field_value == '' && !wp_is_post_revision($post_ID)){ add_post_meta($post_ID,'reference_number',$default_meta,true); } return $post_ID; } add_action('wp_insert_post','set_default_meta'); 

Код работает и добавляет значение «машина» в настраиваемое поле, но только после сохранения сообщения. как я могу показать его, только когда начинаю добавлять сообщение. и как добавить переменную счетчика, увеличивающуюся на единицу в каждом новом сообщении.

благодаря

РЕДАКТИРОВАТЬ

Большое спасибо @s_ha_dum за код, я также задал вопрос на форуме Pods, и они многое помогли с глобальной переменной. Таким образом, окончательный код

1- добавить глобальную переменную как значение по умолчанию в pods admin

  {@globals.reference_number} 

2- добавьте этот код в functions.php

 // Set reference number to be dynamicaly increased every time machine created. function get_next_reference_number() { global $wpdb; $ref = $wpdb->get_var("SELECT max(cast(meta_value as unsigned)) FROM wp_postmeta WHERE meta_key='reference_number'"); $GLOBALS[ 'reference_number' ] = (!empty($ref)) ? $ref + 1 : 1; } add_action('wp_insert_post','get_next_reference_number'); 

И это работает.

Solutions Collecting From Web of "Пользовательское поле по умолчанию со счетчиком"

Я не знаю, как работает инфраструктура pods, поэтому я не могу сказать вам, как установить значение, но я могу начать.

Во-первых, не сохраняйте всю строку «machine %n ». Часть «машина» будет одинаковой для всех записей, правильно? Затем просто сохраните « %n ».

Теперь, когда вам нужно добавить новое сообщение …

 function get_next_reference_number() { global $wpdb; $ref = $wpdb->get_var("SELECT MAX(meta_value) FROM {$wpdb->postmeta} WHERE meta_key = 'reference_number'"); return (!empty($ref)) ? $ref + 1 : 1; } 

Надеюсь, вы сможете работать в коде Pods.