Intereting Posts
Запросить комментарии в admin по специальной дате Последнее сообщение, упорядоченное по дате публикации, используя WP_Query на главной странице Создание страницы категории по алфавиту Обнаружить 404 перед отправкой заголовков Проверка многопользовательской активации темы Получить архив таксономии wordpress и отсортировать по году Проверьте, присвоена ли текущая страница идентификатору тега WP API для получения всех записей для / posts, / media, / categories Содержимое не будет загружаться при использовании действия the_content Изображения в медиа-библиотеке внезапно исчезли Как я могу сделать свои «неудачные запросы» в диаграммах и анализе Application Insights? remove_meta_box для всех типов сообщений, похоже, не работает Как ограничить доступ пользователей к плагинам? Невозможно изменить автора для себя после публикации Как сделать время debug.log по местному времени?

Обновление настраиваемого поля при создании импортированного сообщения

Поэтому я создал функцию, которая обновляет несколько настраиваемых полей в сообщении при создании сообщения. Идея состоит в том, чтобы дезинформировать эту информацию, чтобы я мог легко использовать ее для других целей. Функция работает нормально, когда я создаю сообщение вручную. Тем не менее, я импортирую сотни сообщений непосредственно на сайт (используя WP All Import), и для этих импортируемых сообщений кажется, что эта функция не применяется. В настоящее время я использую крючки «save_post», «publish_post» и «new_to_publish», чтобы попытаться выполнить это. Однако никто из них, похоже, не работает. Я что-то упускаю? Есть ли лучший способ сделать это? Вот сокращенная версия, что у меня до сих пор:

add_action( 'save_post', 'sterilize_vehicle_information' ); add_action( 'publish_post', 'sterilize_vehicle_information' ); add_action( 'new_to_publish', 'sterilize_vehicle_information' ); function sterilize_vehicle_information( $post_id ) { $internet_price = get_field('internet_price',$post_id); update_post_meta( $post_id, 'internet_price', preg_replace( "/[^0-9]/", "", $internet_price ) ); } 

Спасибо за понимание!

Solutions Collecting From Web of "Обновление настраиваемого поля при создании импортированного сообщения"

Есть крючок, который работал для меня в большинстве случаев, в то время как эти 3 крючка, которые вы используете, терпят неудачу. Это transition_post_status :

 add_action('transition_post_status', 'sterilize_vehicle_information', 10, 3); function sterilize_vehicle_information( $post, $new_status, $old_status) { $internet_price = get_field('internet_price',$post->ID); if( $new_status == 'publish' && old_status != 'publish' ) { update_post_meta( $post->ID, 'internet_price', preg_replace( "/[^0-9]/", "", $internet_price ) ); } } 

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