由于某些原因,Wordpress会从简码输出中删除大多数HTML标记,而我需要在这些简码中使用HTML标记。
关于Stackoverflow有一些建议,但是没有一个对我有用。让我们举个例子。
我用简单的[myshortcode id =“ 1”]调用WP中的简码
在我的PHP中,我使用以下代码:
function myshortcode($atts)
{
ob_start();
?>
<ul><li>test</li><li>test2</li></ul>
<?PHP
return ob_get_clean();
}
add_shortcode( 'myshortcode', 'myshortcode' );
我得到的输出是:没有HTML标记的test1test2
如果我使用链接(www),则会保留链接,但会系统删除div,span,ul,li,...。
我试图在return语句的末尾添加标记,但是它不起作用。我已经尝试过https://codex.wordpress.org/Shortcode_API#Output此处提出的建议,但是它不起作用。
你有什么主意吗?
谢谢!
洛朗
答案 0 :(得分:1)
这是全新安装的版本:
function myshortcode_53969195( $atts ) {
// Attributes
$atts = shortcode_atts(
array(
'id' => '1',
),
$atts,
'myshortcode'
);
$output = '<ul><li>test</li><li>' . $atts['id'] . '</li></ul>';
return $output;
}
add_shortcode( 'myshortcode', 'myshortcode_53969195' );
然后,您可以在内容编辑器上将简码显示为[myshortcode id=XX]
或在模板文件中将其显示为回音:
echo do_shortcode('[myshortcode id=XX]');
如果继续删除html标签,请检查您是否有任何插件或函数可以修改内容输出。希望这会有所帮助。