是否从短码输出中删除一些标记?正在尝试修复Autop

时间:2013-03-02 作者:Wordpressor

remove_filter( \'the_content\', \'wpautop\' );
add_filter( \'the_content\', \'wpautop\' , 99 );
add_filter( \'the_content\', \'shortcode_unautop\', 100 );
适用于几乎所有我的短代码,不包括返回自定义帖子类型缩略图列表的短代码,如下所示:

<li>
    <a href="#">
       <div class="image-container">
          <div class="image"></div>
          <div class="overlay"></div>
        </div>
    <p></a>
</li>
无论我做什么,它都会增加这一点<p> 之前</a> 尽管以内联方式返回它们(在我的短代码源中,它们之间甚至没有空格,例如。

<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>

    <li><a href="#"><div class="image-container"><div class="image"></div><div class="overlay"></div></div></a></li>

<?php endwhile; ?>
有没有办法从我的短代码输出中删除这个空P?

1 个回复
SO网友:drrobotnik

我认为这是因为无效的标记。autop正在(糟糕地)修复代码。将div更改为span,并在样式表中将其设置为block。

结束

相关推荐

Using shortcodes in PHP

我试图在我的页面中使用短代码,我从一个简单的测试开始。在里面functions.php:function HelloWorldShortcode() { return \'<p>Hello World!</p>\'; } add_shortcode(\'helloworld\', \'HelloWorldShortcode\'); 在中index.php:[helloworld] 这不会产生<p>Hello World