嵌入 iframe 的 wordpress 简码每页只执行一次
wordpress shortcode that embeds iframe executes only once per page
我有以下 wordpress 简码
function wiki_show( $atts ) {
// Attributes
$atts = shortcode_atts(
array(
'name' => '',
'height' => '500',
),
$atts,
'wiki'
);
// Return custom embed code
return '<div><iframe src="https://en.wikipedia.org/wiki/' . '&name=' . $atts['name'] . '" height="' . $atts['height'] . '"/></div> ';
}
add_shortcode( 'wiki', 'wiki_show' );
我像这样在 wordpress 页面中使用它:
AAAAAAAA
[wiki name="Wolfenstein_3D" height="500"]
BBBBBBB
[wiki name="Nelson_Mandela" height="800"]
CCCCCCCC
问题是在第一个 iframe 之后,没有显示任何内容(甚至没有显示第一个 iframe 之后的 BBBB....)
如果我更改短代码以标记一些 "foo" 而不是 "iframe" 它会正确显示所有代码。
如果我手动嵌入 2 个 iframe(没有简码)它工作正常。
如何使短代码起作用?我做错了什么?
(*credit:此代码改编自:https://generatewp.com/shortcodes/?clone=video-embed-shortcode)
<iframe>
元素 isn't a self closing element。您应该将其更改为
return '<div><iframe […]></iframe></div>';
同时检查 HTML 个验证器,它会发现这个问题。 ;-)
我有以下 wordpress 简码
function wiki_show( $atts ) {
// Attributes
$atts = shortcode_atts(
array(
'name' => '',
'height' => '500',
),
$atts,
'wiki'
);
// Return custom embed code
return '<div><iframe src="https://en.wikipedia.org/wiki/' . '&name=' . $atts['name'] . '" height="' . $atts['height'] . '"/></div> ';
}
add_shortcode( 'wiki', 'wiki_show' );
我像这样在 wordpress 页面中使用它:
AAAAAAAA
[wiki name="Wolfenstein_3D" height="500"]
BBBBBBB
[wiki name="Nelson_Mandela" height="800"]
CCCCCCCC
问题是在第一个 iframe 之后,没有显示任何内容(甚至没有显示第一个 iframe 之后的 BBBB....)
如果我更改短代码以标记一些 "foo" 而不是 "iframe" 它会正确显示所有代码。
如果我手动嵌入 2 个 iframe(没有简码)它工作正常。
如何使短代码起作用?我做错了什么?
(*credit:此代码改编自:https://generatewp.com/shortcodes/?clone=video-embed-shortcode)
<iframe>
元素 isn't a self closing element。您应该将其更改为
return '<div><iframe […]></iframe></div>';
同时检查 HTML 个验证器,它会发现这个问题。 ;-)