Damaks
@Damaks

Как динамически изменять имя функции?

День добрый.

Есть определённое количество созданных произвольных таксономий в Wordpress. Делаю фильтр в админке по типу:

add_action('restrict_manage_posts', 'tax1_filter');
function tax1_filter() {
	...
}
add_filter('parse_query', 'tax1_filtering');
function tax1_filtering($query) {
	...
}

Для каждой таксономии код повторяется с изменением имени функций. Хочется просто пройтись foreach по нестандартным таксономиям, но в таком случае нужно менять имена функций, иначе не получится.

Соответственно, вопрос: как можно динамически менять имя функции, вставлять в него переменную и т.п.?
Или же есть способ реализации фильтра сразу для всех таксономий, чтобы не копировать код?
  • Вопрос задан
  • 260 просмотров
Решения вопроса 1
Damaks
@Damaks Автор вопроса
В общем, добавил просто foreach по таксономиям внутрь функций.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Keanor
@Keanor
Ведущий разработчик
Для нестандартных таксономий можно сформировать отдельный массив и вызывать функции через call_user_func, имя в динамическом виде у вас есть.
Ответ написан
@Pixilys
Обращение к функциям через переменные.
https://www.php.net/manual/ru/functions.variable-f...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽