Поддержка Проблемы и решения publish_post и произвольный тип записей

  • Пытаюсь применить пример из Кодекса: https://codex.wordpress.org/Plugin_API/Action_Reference/publish_post
    add_action( 'publish_post', 'notify_new_post' ) и далее. Для записей работает. А вот есть свой тип — ничего не происходит. Все внутренние функции (get_post, get_userdata и wp_mail) работают отлично. В том числе и с нужным типом записей. А вот всё вместе — нет.

    Полагаю, дело в том, что publish_post предназначен только для записей типа post. Как добавить тригер при публикации pending-записей другого типа?

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Полагаю, дело в том, что publish_post предназначен только для записей типа post.

    Верно. Для записей другого типа вместо post нужно подставить имя типа, например publish_book.

    Если нужны уведомления для нескольких типов записей, можно воспользоваться более гибким действием transition_post_status:
    http://codex.wordpress.org/Post_Status_Transitions

    Эти действия выполняются в функции wp_transition_post_status():
    http://core.trac.wordpress.org/browser/tags/3.8/src/wp-includes/post.php#L3292

    Действительно всё заработало. Может быть имеет смысл добавить это в Кодексе в список?

    Сергей, спасибо большое за подсказку!

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Может быть имеет смысл добавить это в Кодексе в список?

    Да, думаю, имеет. На странице о publish_post, на которую вы ссылались выше, есть примечание. Вы можете дополнить его, используя логин и пароль от форума.

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «publish_post и произвольный тип записей» закрыта для новых ответов.