Как я могу запустить этот код один раз, чтобы мой опубликованный заголовок не изменялся при публикации / обновлении?

У меня есть пользовательский тип сообщения, называемый transaction , и на экране редактирования / публикации типа post я удалил поле заголовка сообщения. Заголовок сообщения теперь генерируется функцией ниже, которая маркирует каждую Transaction Post, за которой следует уникальная строка, благодаря функции uniqid PHP.

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

Как изменить код ниже, чтобы уникальный номер заголовка генерировался только один раз?

 function transaction_title( $title ) { $screen = get_current_screen(); $transaction_number = uniqid(); // unique number if ( 'transaction' == $screen->post_type ) { return 'Transaction '. $transaction_number; } else { return $title; // else return the normal title } } add_filter( 'title_save_pre', 'transaction_title'); 

Мои первоначальные мысли состоят в том, чтобы установить такой мета-флаг, но у меня возникли проблемы с его объединением с моей функцией. Кажется, что он только обновляет мета-сообщение, когда я использую действие transition_post_status и не с моим фильтром title_save_pre (который мне нужно изменить заголовок).

Solutions Collecting From Web of "Как я могу запустить этот код один раз, чтобы мой опубликованный заголовок не изменялся при публикации / обновлении?"