Поддержка WooCommerce save_post_product не работает при быстром сохранении?

  • Как выяснилось хук save_post_product не стартует если воспользоваться так называемой «быстрой правкой» wp-admin/edit.php?post_type=product (т.е если открыть список товаров на вукомерц, под товаром выбрать «свойства», внести изменения и нажать «обновить» (см картинку)
    http://priscree.ru/img/9d01fc4264bb2c.jpg
    Что странно, ибо в спецификации написано, что хук save_post_{posttype} отрабатывает всегда, когда вносятся правки в пост. Ну да ладно.
    Собственно вопрос — как быть?
    Мне нужен хук, аналогичный save_post_{posttype}, который срабатывает при нажатии «обновить» при быстром редактировании поста.

    PS. При сохранении карточки товара обычным способом «заходя в нее» и нажимая «сохранить» — все пашет и хук save_post_product работает.
    Логировал. save_post_product не стартует даже если юзать быстрое сохранение.

    • Тема изменена 5 лет, 4 месяца назад пользователем Yui. Причина: в раздел woocommerce
Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Модератор Yuri

    (@yube)

    Действительно странно. А ‘save_post’?

    Я чутка при логировании перемудрил.
    В моем случае проблема вот в чем была

    function yfym_save_post_product_function ($post_id, $post, $update) {
    if (!wp_verify_nonce($_POST['noncename'], plugin_basename(__FILE__))) {return;}
    А ЛОГИРОВАЛ ЛИШЬ ТУТ.
    
    }

    Но у меня вопрос. Получается что nonce вообще не юзать что ли в этом хуке?

    Впшных проверок достаточно для безопасности?

    Модератор Yuri

    (@yube)

    Проверил. WP 4.9.8 + WC 3.5.3 = хук ‘save_post_product’ срабатывает.

    Да. Да срабатывает. Я уже выше написал свой косяк. У меня вопрос про noncename. Как мне проверяться то? Или не нужно?

    Модератор Yuri

    (@yube)

    Получается что nonce вообще не юзать что ли в этом хуке?

    Если передается, то почему бы и не юзать. Вопрос в том, 1) добавляется ли Ваш кастомный nonce (это же кастомный, я правильно понимаю?) в форму быстрого редактирования и 2) попадает ли он в параметры POST. Там же всё асяксом сделано, а у него свое мнение на все случаи жизни.

    1. Нет в форму не передается. А как это сделать? через какой хук? И нужно ли?
    2. Соответственно тоже нет.

    В моем случае кастомный нонсе попадает только на страницу с редактированием поста.
    Но моя задача чтобы функция отрабатывала и при обычном сохранении и при быстром.

    Модератор Yuri

    (@yube)

    Лично я считаю, что проверки nonce и current_user_can имеет смысл делать в коде, который может быть вызван непосредственно юзером. В коде, который дополняет «системый», думаю, можно положиться на движок, потому что если что не так, до хука дело в принципе не должно доходить. IMHO

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «save_post_product не работает при быстром сохранении?» закрыта для новых ответов.