我使用带有 Elementor 制作的侧边栏的自定义 WP 主题。我有多个侧边栏,其中包含多个 YouTube 视频,将 URL 放置在平面文本中(在文本块中)。这就是 WordPress 内置功能将链接转换为嵌入视频的介入之处,之后 WP-Rocket 将它们转换为带有播放按钮的简单图像(延迟加载)。
我想制作一个短代码来放置在我想要更改视频的位置,并且这个短代码可以使链接按上述方式工作。
我尝试了一个简单的短代码,仅返回文本,但没有运气 - 它不会转换为嵌入式视频。
我尝试了以下代码,它加载了视频,但随后 WP-Rocket 延迟加载未激活。
function video_shortcode1( $atts ) {
return wp_video_shortcode( array( 'type' => 'video/youtube' , 'src' => 'https://www.youtube.com/watch?v=ydZit1jcG8c' ) );
}
add_shortcode( 'video_sbar1', 'video_shortcode1' );
你能帮忙解决这个难题吗?
这是使用 wp_oembed_get 的工作代码
function youtube_embed_shortcode1( ) {
// YT link here
$video_url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ';
return wp_oembed_get($video_url);
}
add_shortcode( 'ytsbar1', 'youtube_embed_shortcode1' );