Mar*_*ine 2 php wordpress function
我需要使用短代码为Wordpress创建一个列系统,这不是问题,但我试图用更少的代码来实现它.
我有一个包含所需数据的数组,我遍历它,创建一个唯一命名的函数并将其设置为shortcode-function.第三步是个谜.如何从变量创建函数.
这是一个例子,它应该如何完成:
$data[] = "first";
$data[] = "second";
foreach($data as $key => $value) {
function $value($atts,$content) {
return '<div class="'.$value.'">'.$content.'</div>';
}
add_shortcode($value,$value);
}
Run Code Online (Sandbox Code Playgroud)
但是,似乎不可能让它在PHP中像那样工作.有没有办法使这项工作,因为我不想写所有(相同)功能分开.我可以使短代码类似,[col first]text[/col]但客户希望每个都有不同的名称.
您可以使用double dollar语法将变量的值用作变量标识符,
例:
$variable = "test";
$$variable = "value of test"
echo $test; //or echo $$variable;
Run Code Online (Sandbox Code Playgroud)
我从来没有尝试,但你想尝试:
foreach($data as $key => $value)
{
function $$value($atts,$content)
{
}
add_shortcode($value,$value);
}
Run Code Online (Sandbox Code Playgroud)
或像create_function这样的函数
如果您使用PHP 5.3或更高版本,那么您可以这样做:
$$value = function()
{
}
Run Code Online (Sandbox Code Playgroud)
这应该工作正常