Как в WP перехватить событие завершения работы плагина

Я хочу запускать свой плагин после выполнения другого плагина в WP. Такое возможно? Если да, то каким хуком это можно сделать?

Имеется ввиду следующая ситуация: плагин "WooCommerce and 1C:Enterprise/1С:Предприятие Data Exchange" работает при экспорте фида из 1С. Сразу после его работы мне необходимо изменить некоторые атрибуты товаров. Плагин изменения атрибутов у меня написан, но сейчас он выполняется по расписанию wp-cron, а мне нужно чтобы мой плагин выполнялся сразу же после завершения работы плагина "WooCommerce and 1C:Enterprise/1С:Предприятие Data Exchange".


Ответы (2 шт):

Автор решения: Temyk

Есть хук/экшн plugin_loaded, он срабатывает после загрузки указанного в параметре плагина.

В параметр передаётся путь к главному файлу плагина. Например plugin-slug/plugin-slug.php

→ Ссылка
Автор решения: KAGG Design

Комментируя вопрос, я как в воду глядел по поводу хука shutdown.

Плагин WooCommerce and 1C:Enterprise/1С:Предприятие Data Exchange (WC1C) начинает свою работу на хуке template_redirect с приоритетом -10, а заканчивает, закрывая транзакцию в базе, на php-хуке shutdown. php-хуки shutdown выполняются в том порядке, как они были зарегистрированы.

В вашем плагине надо зарегистрировать свой php-хук shutdown после WC1C и уже в нём выполнить необходимые действия.

function my_shutdown_function() {
    global $wc1c_is_transaction;

    // Если WC1C отработал, то wc1c_is_transaction  должна быть false.
    if ( ! isset( $wc1c_is_transaction ) || false !== wc1c_is_transaction) {
        return;
    }

    // Здесь ваши действия по изменению атрибутов товара.
}

function my_template_redirect() {
    register_shutdown_function( 'my_shutdown_function' );
}

add_action( 'template_redirect', 'my_template_redirect' );
→ Ссылка