@vottakoinick

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

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

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


Нужно именно с таким именем создавать анонимная вроде не пройдёт, это в вордпрессе так создаются шорткоды.
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 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;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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