2010-12-03 166 views
0

我需要添加简码,如image,hrbutton。但是,我还需要删除wpautop筛选器(remove_filter('the_content','wpautop'))以便小时正常工作。现在,要手动设置数据条,我设置一个简码p,以简单地将[p]text[/p]<p>text</p>进行转换。短代码内短代码不能在Wordpress中工作?

但是,在[p /]里面,其他的短码不起作用。我猜想它会修改内容。这是我简单的函数:

function p_func($atts,$content) { 
    return '<p>'.$content.'</p>'; 
} 
add_shortcode('p','p_func'); 

我变得有点紧张这一点,因为我functions.php似乎充满黑客了。有什么建议?

马尔蒂·莱恩

回答

2

我猜你需要的,因为它被包裹在一个段落删除wpautophr简码?

如果是这样,只需使用你的shortcode就好了;

 
Some text in my editor. 

[hr] 

A bit more text. 

查看换行间距? WordPress会自动确保短代码“本身”不会被段落包裹。

我强烈建议沿着你现在的路线走 - 如果我上面提到的不是问题,?让我们看看解决它而不是重新发明轮子!

为了记录,如果您需要应用嵌套简码,请从the codex;

如果包围短码的目的是 ,以允许在其 输出其他简码,处理函数可以递归调用 do_shortcode():

function caption_shortcode($atts, $content = null) { 
    return '<span class="caption">' . do_shortcode($content) . '</span>'; 
}