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

时间:2010-12-03 22:17:56

标签: wordpress wordpress-theming shortcode

我需要添加imagehrbutton等短代码。但是,我还需要移除wpautop过滤器(remove_filter('the_content','wpautop'))以使hr正常工作。现在,要手动设置paraghraps,我设置了一个短代码p,只需将[p]text[/p]转换为<p>text</p>

但是,在[p /]内,其他短代码无效。我猜它会修改内容。这是我的简单功能:

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

我对此感到有些紧张,因为我的functions.php似乎已经充满了黑客攻击。有什么建议吗?

Martti Laine

1 个答案:

答案 0 :(得分:3)

我猜您需要删除wpautop短信代码hr,因为它包含在一个段落中?

如果是这样,只需使用您的短代码;

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>';
}