php - 为什么在我编写自定义“oembed_dataparse”过滤器后,wordpress 立即停止创建 oembed 缓存条目
问题描述
我制作了过滤器来替换标准数据解析输出,它在前端工作正常。但是 postmeta 表中没有 _oembed_xxxxxxxxxxxxxxx 条目,尽管 _oembed_time_xxxxxxxxxxxxxxx 是。
我的过滤器:
add_filter( 'oembed_dataparse', function ( $return, $data, $url ) {
if ( 'YouTube' === $data->provider_name )
$return = <<<EOD
<a class="elm-youtube fancybox-youtube" href="$url"><span class="ytp-cued-thumbnail-overlay" style=""><span class="ytp-cued-thumbnail-overlay-image" style="background-image: url("{$data->thumbnail_url}");"></span><button class="ytp-large-play-button ytp-button" aria-label="Смотреть"><svg height="100%" version="1.1" viewBox="0 0 68 48" width="100%"><path class="ytp-large-play-button-bg" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#212121" fill-opacity="0.8"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg></button></span></a>
EOD;
return $return;
}, 10, 3 );
怎么了?
解决方案
好吧,都是因为内容替换中的非 utf-8 字符。
推荐阅读
- asp.net-core - 如何在自己的托管窗口上发布 asp.net Web 核心应用程序
- android - webview的文件上传控件中的选择文件按钮不起作用
- mysql - Visual Studio 2015 仅在尝试创建 ADO.NET 实体模型类时显示 SQL Server 连接
- php - php函数返回空
- javascript - 如何在 Bootstrap 模式中从锚点的 href 值加载 URL?
- javascript - 如果条件存在,则链接多个过滤器
- css - 背景视频问题 - 仅限 Safari - 全宽和全高
- php - 在 XAMPP POST 上使用 Wordpress 26896206 字节的内容长度超过了 200 字节的限制
- php - 如何在php中从一个数据库的两个不同表中获取多个数据
- jquery - 光滑的轮播可变宽度不起作用