Задать вопрос
@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 месяцев
    Далее
  • Stepik
    Язык программирования PHP
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 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;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы