自从升级到4.1.1之后,现在出现了一些短代码。IE HTML输出。
下面是用于生成选项卡的函数文件。
/*******************************************************************
Tabs
********************************************************************/
function slicetheme_tabs($atts, $content = null)
{
if (!preg_match_all("/(.?)\\[(item)\\b(.*?)(?:(\\/))?\\](?:(.+?)\\[\\/item\\])?(.?)/s", $content, $matches)) {
return do_shortcode($content);
}
else
{
for ($i = 0; $i < count($matches[0]); $i++) {
$matches[3][$i] = shortcode_parse_atts($matches[3][$i]);
}
$out = \'<div class="st-tabs">\';
$out.= \'<ul class="tab-title unstyled">\';
for ($i = 0; $i < count($matches[0]); $i++) {
$attstoclass = !empty($matches[3][$i][\'icon\']) ? \'<i class="\'. $matches[3] [$i][\'icon\'] .\'"></i> \' : \'\';
$out.= \'<li><a href="#tab-\'. $i .\'">\'. $attstoclass . $matches[3][$i][\'title\'] .\'</a></li>\';
}
$out.= \'</ul>\';
$out.= \'<div class="tab-container">\';
for ($i = 0; $i < count($matches[0]); $i++) {
$out.= \'<div id="tab-\'. $i .\'" class="tab-content">\'. wpautop( do_shortcode(trim($matches[5][$i])) ) .\'</div>\';
}
$out.= \'</div>\';
$out.= \'</div>\';
return $out;
}
}
add_shortcode(\'tabs\', \'slicetheme_tabs\');
上面的HTML输出为
<li><a href="#tab-0"><i class="”icon-user”"></i> ”Project</a></li>
<li><a href="#tab-1"><i class="”icon-comments”"></i> ”Acknowledgements”</a></li>
页面中的代码为
[tabs] [item icon="icon-user" title="Project Description"]
如你所见,它不仅添加了额外的引号,还没有显示第二个单词?IE项目代替项目描述
所有这些都来自一个不再受支持的主题,但如果我能修复此代码,这是一个可以继续使用的好主题。
干杯