短代码内部短代码在Wordpress中不起作用?

短代码内部短代码在Wordpress中不起作用?,wordpress,wordpress-theming,shortcode,Wordpress,Wordpress Theming,Shortcode,我需要添加短代码,例如图像,人力资源和按钮。但是,我还需要删除wpcontop过滤器(remove\u过滤器(“内容”,“wpcontop”)),hr才能正常工作。现在,为了手动设置Paragraps,我设置了一个短代码p,将[p]文本[/p]转换为文本 但是,在[p/]内部,其他短代码不起作用。我猜它修改了内容。下面是我的简单函数: function p_func($atts,$content) { return '<p>'.$content.'</p>'; }

我需要添加短代码,例如
图像
人力资源
按钮
。但是,我还需要删除
wpcontop
过滤器(
remove\u过滤器(“内容”,“wpcontop”)
),hr才能正常工作。现在,为了手动设置Paragraps,我设置了一个短代码
p
,将
[p]文本[/p]
转换为
文本

但是,在
[p/]
内部,其他短代码不起作用。我猜它修改了内容。下面是我的简单函数:

function p_func($atts,$content) {
    return '<p>'.$content.'</p>';
}
add_shortcode('p','p_func');
函数p_func($atts,$content){
返回“”.$content.“

”; } 添加_短码('p','p_func');
我对此有点紧张,因为我的
functions.php
似乎已经充满了黑客。有什么建议吗


Martti Laine

我猜你需要删除
wpcautop
作为你的
hr
短代码,因为它被包装在一个段落中

如果是这样的话,就这样使用你的短代码吧

Some text in my editor. [hr] A bit more text. 我的编辑器中有一些文本。 [人力资源] 再多一点文字。 看到换行符间距了吗?WordPress将自动确保短代码“本身”不会被包装在段落中

我强烈建议你走你目前的路线——如果我上面提到的不是问题,那是什么?让我们看看如何解决它,而不是重新发明轮子

对于记录,如果需要应用嵌套的短代码,请从

如果要使用封闭的短代码 允许在其应用程序中使用其他短代码 输出时,处理程序函数可以调用 递归地执行以下操作:

function caption_shortcode( $atts, $content = null ) {
   return '<span class="caption">' . do_shortcode($content) . '</span>';
}
函数标题\u短代码($atts,$content=null){
返回“”。do_短代码($content)。“”;
}

我猜你需要删除
wpcautop
作为你的
hr
短代码,因为它被包装在一个段落中

如果是这样的话,就这样使用你的短代码吧

Some text in my editor. [hr] A bit more text. 我的编辑器中有一些文本。 [人力资源] 再多一点文字。 看到换行符间距了吗?WordPress将自动确保短代码“本身”不会被包装在段落中

我强烈建议你走你目前的路线——如果我上面提到的不是问题,那是什么?让我们看看如何解决它,而不是重新发明轮子

对于记录,如果需要应用嵌套的短代码,请从

如果要使用封闭的短代码 允许在其应用程序中使用其他短代码 输出时,处理程序函数可以调用 递归地执行以下操作:

function caption_shortcode( $atts, $content = null ) {
   return '<span class="caption">' . do_shortcode($content) . '</span>';
}
函数标题\u短代码($atts,$content=null){
返回“”。do_短代码($content)。“”;
}