代码如下 - 它使用wordpress短代码[my_hmg=widget.xml]
但是如果你尝试更改xml文件,就像这个[my_hmg=example_gallery.xml]
一样,它总是恢复到默认的widget.xml
问题在于函数my_hmg_filter_Callback
,特别是这两行;
@$my_hmg_file = @$output['filename'];
if($my_hmg_file==""){$my_hmg_file = "widget.xml";}
由于某种原因,它始终认为文件名是空白的,因此始终会恢复为widget.xml。
可以从这里下载文件 - http://www.gopiplus.com/work/2010/07/18/horizontal-motion-gallery/
function my_hmg_show_filter($content){
return preg_replace_callback('/\[my_hmg=(.*?)\]/sim','my_hmg_filter_Callback',$content);
}
function my_hmg_filter_Callback($matches)
{
$my_hmg_package = "";
$var = $matches[1];
parse_str($var, $output);
@$my_hmg_file = @$output['filename'];
if($my_hmg_file==""){$my_hmg_file = "widget.xml";
}
答案 0 :(得分:0)
首先将短代码更改为[my_hmg file='file.xml']
然后,如果您快速阅读Wordpress's short code API,您将看到回调函数中的第一个参数是短代码的属性。
这样你就可以在数组中引用属性'file'并获得正确的url。