WordPress /简码:WordPress删除的html标记

时间:2018-12-29 11:42:40

标签: php wordpress shortcode

由于某些原因,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此处提出的建议,但是它不起作用。

你有什么主意吗?

谢谢!

洛朗

1 个答案:

答案 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标签,请检查您是否有任何插件或函数可以修改内容输出。希望这会有所帮助。