Задать вопрос
@vottakoinick

Можно ли определить функцию в цикле?

Мне нужно в wordpress сделать список шорткодов, для нужных материалов.
Примерно так. Как это возможно сделать

foreach($answers as $answer):
    function wpschool_text_shortcode() {
        return  $answer;
    }
    add_shortcode('textshortcode', 'wpschool_text_shortcode');       
endforeach;


Нужно именно с таким именем создавать анонимная вроде не пройдёт, это в вордпрессе так создаются шорткоды.
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Daskus
Нельзя объявлять функцию в одной области видимости несколько раз.

Можно сделать так:
function wpschool_text_shortcode() {
    return  $answer;
}
foreach($answers as $answer):
    add_shortcode('textshortcode', 'wpschool_text_shortcode');       
endforeach;


Или так: (Но зачем?)
foreach($answers as $answer):
    if( !function_exists('wpschool_text_shortcode') ){
        function wpschool_text_shortcode() {
                return  $answer;
        }
    }
    add_shortcode('textshortcode', 'wpschool_text_shortcode');       
endforeach;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽