我正在注册一个包含以下内容的短代码:
class Resource extends Shortcode
{
public function action($atts, $content = "broken")
{
$markup = "<span id='examp'> $content </span>";
return $markup;
}
}
$resource = new Resource;
$resource->register();
在$resource-> action(…)中,无论短代码中的值如何,$content都被设置为空字符串.
可以找到Shortcode和Resource的完整代码示例
我真的没有其他问题. $attr参数与它应该完全一样,唯一显示的是$content值,没有额外的标记.
如果这不是足够的信息,我将共享存储库 – 请告诉我它是否有帮助.
输入示例:
asdf[resource_download]abc[/resource_download]asdf
预期输出量:
asdf<span id='examp'>abc</span>asdf
实际产量:
asdfabcasdf
最佳答案 正如@uɐɥʇɐᴎ合
efforts我们发现的问题是,
正在为另一个短代码类(视频而不是资源)调用stealshortcode方法.视频正在设置该模式以匹配所有[(.*?)],即在资源有机会接收之前将内容设置为null.
基本上stealshortcode是从父类调用的,它清除了shortocde数据.