php – 我附带的短代码将content参数设置为空字符串

我正在注册一个包含以下内容的短代码:

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的完整代码示例

分别> herehere.

我真的没有其他问题. $attr参数与它应该完全一样,唯一显示的是$content值,没有额外的标记.
如果这不是足够的信息,我将共享存储库 – 请告诉我它是否有帮助.

输入示例:

asdf[resource_download]abc[/resource_download]asdf

预期输出量:

asdf<span id='examp'>abc</span>asdf

实际产量:

asdfabcasdf    

最佳答案 正如@uɐɥʇɐᴎ合
efforts我们发现的问题是,

正在为另一个短代码类(视频而不是资源)调用stealshortcode方法.视频正在设置该模式以匹配所有[(.*?)],即在资源有机会接收之前将内容设置为null.

基本上stealshortcode是从父类调用的,它清除了shortocde数据.

点赞