while ループなどを使用して、これをより効率的に記述する方法があるかどうか疑問に思っています。基本的に、多数の WordPress ショートコードを動的に生成したいと考えています。
# Span 1
add_shortcode('span-1', 'span1');
function span1($atts, $content = null) {
return generateSpan(1, $content);
}
# Span 2
add_shortcode('span-2', 'span2');
function span2($atts, $content = null) {
return generateSpan(2, $content);
}
// ... repeating as many times as necessary
私はこれを試しましたが、うまくいかなかったようです:
$i = 1;
while ($i < 12) {
$functionName = 'span' . $i;
$shortcodeName = 'span-' . $i;
add_shortcode($shortcodeName, $functionName);
$$functionName = function($atts, $content = null) {
return generateSpan($i, $content);
};
$i++;
}