你能帮我确定问题是什么吗?我该如何预防?这个请求来自哪里?
短代码仅在前端处理。就块编辑器而言,指定的URL为[picsum]
这是一个未处理的短代码。
这个问题没有简单的解决方法,要使其正常工作,需要对块编辑器的工作原理进行广泛和持续的修改,这将导致出现问题。例如,您可以过滤块并用实际URL动态替换属性,但新URL将被保存,而不是保存短代码。此外,每个短代码都需要通过AJAX调用独立处理,因此它们不会相互交互,从而破坏了基于共享变量的许多功能。在任何时候,核心模块行为可能会消除所有这些,从而取消所有工作。此外,如果用户尝试编辑图像、裁剪/旋转或替换图像,会发生什么情况?不能裁剪短代码。
Shortcodes in HTML attributes are not the solution you were hoping for and you have hit a dead end.
在这个特定的示例中,创建一个包含由过滤器生成的图像URL的附件会更容易,这样它就相当于
picsum
shortcode,但这是一项单独的任务,可能对您没有帮助,正如您在评论中提到的,这只是一个简化的示例。
基本上,这需要创建自定义块或使用过滤器实现替代方案。
例如,如果您的目标是动态填充图像的src,那么可以使用JS过滤器添加用于选择数据源的道具和控件,然后用动态值替换核心属性。可以使用PHP块呈现过滤器将动态值放置在src
呈现内容时的html属性。
对于内联文本,富格文本格式库API可用于在向用户显示处理后的值时插入短代码。这非常类似于内联图像的工作方式,即内联插入图像块,而内联图像标记是保存的内容