【问题标题】:How to access Gutenberg "core-embed/youtube" with php如何使用 php 访问 Gutenberg “core-embed/youtube”
【发布时间】:2020-11-21 12:31:52
【问题描述】:

我尝试在我的 php 中访问来自 Gutenberg 的嵌入 youtube,如下所示:

if ( $blocks[$i]['blockName'] === 'core-embed/youtube' ) {

php echo $blocks[$i]['innerHTML'];
}

我得到的是这样的:

<figure class="wp-block-embed-youtube ...">
  <div class="wp-block-embed__wrapper">
    https://www.youtube.com/watch?v=Qm-fZNp5nCc
  </div>
  <figcaption>Dies ist ein Video</figcaption>
</figure>

我期望的是完整的嵌入式视频,或者至少只是链接。我会非常感谢您的任何帮助。

【问题讨论】:

标签: php wordpress-gutenberg gutenberg-blocks


【解决方案1】:

我确实遇到了同样的问题,在寻找解决方案数小时后,我尝试了这个并且它正在工作......只需过滤未呈现的 url 属性:

$output = '';
$blocks = parse_blocks( $content );
foreach ( $blocks as $block ) {
$output .= render_block( $block );
    if( "core-embed/youtube" === $block['blockName'] ) {
$not_embedded =  $block['attrs']['url'];
$output = str_replace( $not_embedded, wp_oembed_get($not_embedded), $output );
    }
}
echo $output;

【讨论】:

    【解决方案2】:

    如果你想浏览所有嵌入的块,你可以寻找

    //look if "core-embed" is part of the blockName
    if ( strstr( $lookfor_embedded, 'core-embed' ) ) {
        $not_embedded =  $block['attrs']['url'];
        $output = str_replace( $not_embedded, wp_oembed_get($not_embedded), $output );
    }
    

    这适用于 vimeo 和 youtube,但不适用于 tiktok(它输出不同的东西)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-14
      • 2011-03-08
      • 2021-12-04
      • 2013-08-09
      • 2012-07-19
      • 1970-01-01
      • 2022-07-11
      • 1970-01-01
      相关资源
      最近更新 更多