Intereting Posts
Как установить cookie на основе переменной «Получить переменную»? плагин wordpress для поиска полей базы данных Как добавить пользовательский идентификатор к каждому URL-адресу сообщения в wordpress Возможность редактировать собственный пост, но не создавать новые Отзывчивый ввод с использованием стандартного встроенного короткого кода URL-адрес для разбивки на страницы в пользовательском типе содержимого Сделать пункт меню невыбранным Меню страницы не отображается в admin, новая страница отсутствует и на панели инструментов $ wpdb-> get_results утечка памяти wp_scheduled_event удаляется таинственным образом WordPress Multisite – создайте сообщение по умолчанию и новую категорию на новой установке сайта Получить все страницы как строки в массиве Замените атрибут_escape на esc_attr () Как сделать короткий код с разрывом строки в нем правильно разобрать? Как вставить массив терминов с помощью wp_insert_term?

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

Поэтому я создал функцию, которая обновляет несколько настраиваемых полей в сообщении при создании сообщения. Идея состоит в том, чтобы дезинформировать эту информацию, чтобы я мог легко использовать ее для других целей. Функция работает нормально, когда я создаю сообщение вручную. Тем не менее, я импортирую сотни сообщений непосредственно на сайт (используя 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 ) ); } } 

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