看来你可能有很多.csv
文件。我建议只使用一个属性,然后将适当的名称传递给该属性或文件名的前缀,然后从那里构建文件名。
您可以尝试以下操作之一(我没有进行任何验证,在返回短代码中的任何内容之前,您应该检查属性是否为空以及文件是否存在)
选项1传递完整的文件名(我个人的选择)
add_shortcode( \'open_file\', \'custom_file\' );
function custom_file( $atts )
{
$attributes = shortcode_atts( array(
\'file\' => \'\',
), $atts );
return $attributes[\'file\'];
}
然后按如下方式使用
[open_file file=\'ex1.csv\']
选项2将前缀传递给属性
add_shortcode( \'open_file\', \'custom_file\' );
function custom_file( $atts )
{
$attributes = shortcode_atts( array(
\'file\' => \'\',
), $atts );
$filename = $attributes[\'file\'] . \'.csv\';
return $filename;
}
然后按如下方式使用
[open_file file=\'ex1\']
通过使用上述任何一种方法都可以消除非常长且不必要的
if/else
陈述