Почему WordPress остановился для создания записей кэша oembed сразу после того, как я написал собственный фильтр 'oembed_dataparse' - PullRequest
0 голосов
/ 01 июня 2019

Я сделал фильтр, чтобы заменить стандартный вывод анализа данных, и он отлично работает в веб-интерфейсе. Но в таблице postmeta нет записей _oembed_xxxxxxxxxxxxx, хотя _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(&quot;{$data->thumbnail_url}&quot;);"></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 );

Что не так?

1 Ответ

0 голосов
/ 01 июня 2019

Ну, все из-за не utf-8 символов в замене контента.

...