• Есть 2 плагина, для которых реализовано обновление с моего сервера.
    1-й.

    add_filter('plugins_api', array($this, 'yfympe_plugin_api_checkInfo'), 10, 3);
    public function yfympe_plugin_api_checkInfo($result, $action, $args) {
     if (!isset($args->slug) || ($args->slug !== yfympe_SLUG)) {
     // это просмотр инфы другого плагина
     yfym_error_log('Это просмотр инфы другого плагина! yfympe_SLUG = '. yfympe_SLUG, 0);
     return false;
     } else {
     yfym_error_log('Это просмотр инфы Плагина 1! yfympe_SLUG = '. yfympe_SLUG, 0);	
     }
    ...
    }

    2-й (разница кода по сути в префиксах)

    add_filter('plugins_api', array($this, 'yfymp_plugin_api_checkInfo'), 10, 3);
    public function yfymp_plugin_api_checkInfo($result, $action, $args) {
     if (!isset($args->slug) || ($args->slug !== yfymp_SLUG)) {
     // это просмотр инфы другого плагина
     yfym_error_log('Это просмотр инфы другого плагина! yfymp_SLUG = '. yfymp_SLUG, 0);
     return false;
     } else {
     yfym_error_log('Это просмотр инфы Плагина 2! yfymp_SLUG = '. yfymp_SLUG, 0);	
     }
    ...
    }

    Если для обоих плагинов доступно обновление с моего сервера, то нажатие на «посмотреть информацию о версии такой-то» приводит к тому, что для одного плагина инфа показывается, а для другого нет. (до тех пор, пока 1-й не обновишь).

    Посмотрев логи я понял, что всегда отрабатывает функция для Плагина 2. Т.к используется один и тот же фильтр.

    Есть ли какая-то возможность используя один и тот же фильтр делать так, чтобы для одного плагина отрабатывала одна функция для другого другая? А то в моем случае как бы выходит, что один плагин переписывает фильтр другого плагина.

    (А ведь и др разрабы тоже работают с данным фильтром) и в результате может получиться, что и у них и у меня пахать не будет.

    • Тема изменена 3 нед., 2 дн. назад пользователем  icopydoc.