我的简单自定义快捷代码不再工作(可能是因为升级到WordPress 4.4?)

时间:2015-12-14 作者:JfredoJ

我在函数中有一个简单的函数。创建自定义短代码的php:

function my_line_break() {
    return "<br>";
}
add_shortcode( \'new line\', \'my_line_break\' );
现在,我不知道升级到4.4后是否发生了这种情况,但它不再工作,页面只是呈现[new line] 纯文本。

有人能帮忙吗?我看着https://make.wordpress.org/core/2015/07/23/changes-to-the-shortcode-api/ 但我不确定这有什么关系?

P、 我知道这不是处理换行符的正确方法,但我这样做是为了让我的客户的生活更简单(因此,作为一个小的附带问题,如果有一个有效且易于使用的替代方案,请您告诉我,这样我也可以完全绕过这个问题?)。

2 个回复
最合适的回答,由SO网友:fischi 整理而成

将注释转换为答案,

请重命名您的短代码,使其不包含空格(new_line):

function my_line_break() {
    return "<br>";
}
add_shortcode( \'new_line\', \'my_line_break\' );

SO网友:Danial

您的短代码名称不正确。Shortcode API - WordPress Codex

所以你可以这样写:

function my_line_break() {
    return "<br>";
}
add_shortcode( \'newline\', \'my_line_break\' );
然后:

[newline]

相关推荐

Do not parse shortcode in CPT

我有一个CPT,我不想在它的内容中解析shortcode(使用\\u content()函数)。我可以使用remove\\u filter删除短代码的默认过滤器。但我如何确定我只是为了我想要的CPT而删除过滤器?我有一个在页面中使用的快捷码[我的自定义快捷码]。此短代码使用WP\\U查询和输出CPT帖子。我不想在这篇CPT文章中分析短代码。我是否应该在短代码解析挂钩之前用虚拟内容更改短代码,并在之后替换回来?或者我应该在我的CPT输出之前删除短代码的默认过滤器,然后在我的CPT输出完成后再次添加短代码的默