WordPress的插件简码不起作用


9

我在插件中定义了一个简码,如下所示:

// [tag1] -> Some Longer Text
function shortcode_example1() {
    return 'Some Longer Text';
}
add_shortcode('tag1', 'shortcode_example1');

现在在wordpress页面中,我尝试按以下方式访问插件:

[tag1]

但是,短代码未运行,并且输出仅为“ [tag1]”。你能帮我吗?

谢谢你的帮助。


您的代码可以在WP 3.9.2上的插件或functions.php中为我工作。其他简码可以正常工作吗?
加百利

1
我还确认此短代码可以正常工作。有东西do_shortcodethe_content钩子上卸下了过滤器吗?尝试切换到默认主题(您的主题是否使用the_content()?)并禁用所有插件。然后使他们一对一地找到潜在的冲突。
helgatheviking 2014年

Answers:


31

这里有几件事要检查

  • 一:您的插件已激活。

  • 二:您的简码在主插件文件中。如果该代码在您插件的另一个文件中,请确保您已将该额外文件包含在主插件文件中

  • 第三:您的插件文件中没有任何类型的错误会在激活后停用您的插件。您是否将debug设置为true。该网站的成员之一拥有一个出色的调试插件,可以在wordpress.org上下载名为Debug Objects的插件。

  • 四:尝试将您的短代码移至主题的functions.php中,以确保您的短代码确实有效。如果在您的主题内无法正常使用,则问题可能出在您的主题本身上

  • 五:如@helgatheviking所建议,您是否the_content()以任何可能导致此行为的方式过滤了

  • 六:如果以上所有方法均失败,请停用所有插件,切换到捆绑的主题,然后重新检查。如果问题仍然存在,请升级/重新安装Wordpress,因为这可能是损坏的核心文件


我做了检查清单:1 =检查!,2 =是!,3 =不行,4 =确定,5 =不行,6->有效!将我的本地wp(用于测试)从“悉尼主题”切换到“二十十四”后,将显示SC。似乎存在阻止SC显示在帖子中的主题。
Martin Pfeffer

感谢Pieter提供此清单。原来,我没有正确包含我的文件。现在工作正常:)
国际象棋字节

我做了以下所有工作,但仍然行不通。我安装了新的WordPress(5.0.2),并将代码添加到functions.php文件中。但是当我将[shortcodename]放在页面中时,它被视为文本。怎么了?我使用默认主题:26。
hal

这是一个超级有用的清单。我唯一要添加的是7:确保您的页面编辑器不会像我的那样增加您的短代码:[plc_get_matter_detail_per_contact contact = 6c131- <wbr 668f13139e issues = 6c620185-6211-1331-a642-668f6b7eea9e ]“有用的” WordBreak使我感到困惑了一段时间。谢谢页面编辑...
Brian Stinar

-1

加上这个

    add_filter('the_content', 'do_shortcode');

1
为什么?这是做什么的?他们会在哪里添加呢?请使用上面的编辑链接来编辑您的答案,并添加更多有关如何解决问题的信息。
Howdy_McGee

-4

感谢您的回复。经过进一步调查,我发现定义了我的短代码的插件文件显示为“非活动”。一旦将我的短代码定义移动到活动文件中,一切就开始起作用。我希望这对以后遇到此问题的任何人都是有用的。

再次感谢!


请接受正确的答案,而不是您自己的答案。
国际象棋字节
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.