我对网站上的短代码有问题,目前您在后期编辑屏幕中输入短代码,如下所示:
[tab name=Itinerary]
这将输出一个选项卡,例如:
然而,正如您在上图中看到的,当使用以下短代码时,我们得到了“旅行”和“有用”:
[tab name=Travel Info] or [tab name=Useful Info]
所以问题似乎出在空格和格式上。我已尝试添加“&;/nbsp;”或[旅行信息],但这些解决方案很快就会失败。这是函数中的函数。似乎从post屏幕获取信息的php:
// Tab Shortcode, creates a tab of information:
// [tab name=tab_name]
function page_tab_func( $atts ) {
$a = shortcode_atts( array(
\'name\' => \'Untitled\'
), $atts );
$spec_chars = array("/", "@", "#", " ");
$sanitised = str_replace($spec_chars, "_", $a[\'name\']);
// $a[\'name\']; // Gets the tab name:
$output = "";
$output .= "</div>";
$output .= "<div id=\'content_{$sanitised}\' class=\'tab-section\'>";
$output .= "<h2 class=\'tab-name\'>{$a[\'name\']}</h2>";
return $output;
}
add_shortcode( \'tab\', \'page_tab_func\' );
add_filter( \'no_texturize_shortcodes\', \'ignore_tag_a\' );
function ignore_tag_a( $list ) {
$list[] = \'tab\';
return $list;
}
我在谷歌上搜索过,花了一些时间试图解决这个问题,如果有人对处理短码格式或修复这个问题有任何建议,我将不胜感激。
最合适的回答,由SO网友:Nicolai Grossherr 整理而成
你应该给Attributes 短码API WordPress Codex页面a部分已阅读。
无引号的值也不得包含空格。
简短摘要,使用引号-或"
或\'
- 用于包含空格的属性值。因为实际上不需要属性名,所以我认为名称的»信息«部分将是$atts
数组,使用数字索引存储,因此该数组可能看起来有点像:array( \'name\' => \'Travel\', 0 => \'Info\' )
.
在你说之前,但我尝试了引号,让我说,没有任何理由表明它不能在值周围使用引号。