Добавление фильтра WordPress в имя класса / пространства - PullRequest
0 голосов
/ 07 мая 2020

У меня есть основной и дополнительный плагины. Функция суб-плагина состоит в том, чтобы извлекать информацию из стороннего плагина и передавать ее основному плагину.

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

Как лучше всего подходит для этой ситуации?

Основной плагин использует этот код:

namespace Essif\Testing
class Hooks extends Flow
    public static function options(): array {
        $res = apply_filters('custom_filter_testing', '');
        return $res;
    }

Мой подключаемый модуль выглядит так:

public function getTarget() {
    return ['foo' => 'foo', 'bar' => 'bar'];
}

    public function essif_hook_data()
    {
        $context = ['CF7' => 'CF7'];
        $target = ['foo' => 'foo', 'bar' => 'bar'];
        //$target = $this->getTarget();
        $res = ['context' => $context, 'target' => $target];
        return $res;
    }

Используя жестко заданную информацию, он работает. Но если я использую $ this-> getTarget (), он выдает ошибку.

EDIT: Errors: ManageHooks :: options () должны быть массива типов, строка возвращена $ this Использование $ this, когда не в контекст объекта

...