Buddypress имеет групповую функциональность, которую я объединил с плагином BP Group Hierarchy, чтобы создать иерархию групп на основе роли пользователя.
Однако в плагине использовался метод, описанный Buddpress в ссылке group-extension-api>.
Групповые шаги регистрируются с помощью функции bp_register_group_extension и вызывается add_action. Я безуспешно пытался удалить действие. Поскольку я не совсем понимаю, как работает массив, т.е. массив ( &$extension, \'_register\' ), я пошел искать и нашел это post.
Там есть строка о том, что
Новый формат для вышеупомянутых обратных вызовов метода со ссылкой на объект всегда следующий: имя класса, за которым сразу следует имя метода, за которым следует количество ранее добавленных (имя класса + имя метода). Для классов это позволяет добавлять столько классов, на которые ссылаются объекты, и добавлять методы, которые не переопределяют друг друга.
Однако я не могу удалить действие.
Я попытался удалить действие, поместив следующие строки кода в function.php
функция remove_bp_hierarchy(){
если (has_action('bp_actions')) {
echo $extension = новое расширение BP_Groups_Hierarchy_Extension;
remove_action('bp_actions', array(&$extension, '_register'), 999);
} еще {
}
add_action('bp_init','remove_bp_hierarchy', 999);
Что-то не так с моим remove_action или я использую неправильный метод? Спасибо и привет.
## Обновлять
Нашел страницу, на которой видим список хуков, а также хуки функция на странице. Я вижу, что есть функция с именем _register, которую я ищу. Однако адрес класса всегда меняется. Я думал использовать найденную функцию, чтобы выполнить preg_match и удалить ее, когда она будет найдена. это супер тяжело. Так есть ли другой способ удалить его? Спасибо и С уважением.