Здравствуйте.
Что требуется:
После нажатия на кнопке Опубликовать в админке, необходимо получить данные произвольного поля (мейл получателя), сразу же отправить письмо.
Что есть:
Сейчас зацепился за хук draft_to_publish, чтобы при сохранении записи (и её произвольного поля с мейлом) срабатывала отправка письма на мейл из произвольного поля. Почему за этот хук: потому что WP создает запись со статусом draft в БД, а после нажатия Опубликовать переводит встатус publish.
Произвольное поле создано средствами WP-Recall.
В чем проблема:
Var_dump показывает, что произвольное поле пустое (не null, не undefined) после нажатия Опубликовать. Однако, сразу захожу в БД и вижу, что произвольное поле заполнено. Попробовал разное, но по ощущениям, что WP-Recall сохраняет произвольные поля позднее, чем срабатывает хук draft_to_publish. Это только ощущения, а куда копать не знаю.
Вопрос:
В какой момент (на каком хуке ядра) происходит сохранение произвольных полей?
Здравствуйте.
Ваш вопрос по WordPress. Посмотрите post запрос что выдает и по нему отлавливайте
А что за метабокс
и чем он создан - это же сделано все через апи вордпресс.
Можно это попробовать
, а можно и третим параметром - приоритетом поиграться.
Добрый день.
Сейчас какой то хук при сохранении произвольных полей отсутствует, но можно сделать так
add_action( 'save_post', 'rcl_custom_fields_update_after', 10 ); function rcl_custom_fields_update_after( $post_id ) { if ( ! isset( $_POST['custom_fields_nonce_rcl'] ) ) return false; if ( ! wp_verify_nonce( $_POST['custom_fields_nonce_rcl'], __FILE__ ) ) return false; if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return false; if ( ! current_user_can( 'edit_post', $post_id ) ) return false; //тут что то делаем }
Спасибо, я в восторге от такой быстрой помощи.
Спасибо каждому - сразу три новых знания, очень актуальных, полезных и открывающих пути для других решений. В одном топике сразу резкий рост навыков.
Пока что применил $_POST, вытащил из него нужную информацию.
П.С.
Владимир,
wp_transition_post_status - пробовал ранее, от него пришел к draft_to_publish потому что передает одну переменную, а не три (собираюсь еще вешать функции на хук), а за add_meta_box отдельный лайк.
Андрей,
Да, цеплялся на save_post, правда на свою функцию и без дополнительных проверок. Поэтому еще надо было проверять, что это не ревизия и отслеживать, когда выйдет из статуса draft и auto-draft. Ваш совет реализую.
Preci,
Вот эту штуку я теперь буду вообще везде использовать. Я не то, чтобы знал про нее, но догадаться же ведь мог.
Вопрос решен.