gebruederheitz / wp-block-video-overlay
视频叠加块的後端辅助工具。
v4.0.0
2024-03-06 16:11 UTC
Requires
- php: >=8.1
- gebruederheitz/wp-easy-customizer: ^v3.0.0
- gebruederheitz/wp-gutenberg-blocks: ~1.6
- gebruederheitz/wp-simple-rest: ^2.0
- league/uri: ^7.3
- league/uri-components: ^7.3
- league/uri-interfaces: ^7.3
Requires (Dev)
- phpstan/phpstan: ^1.7
- szepeviktor/phpstan-wordpress: ^1.1
This package is auto-updated.
Last update: 2024-09-06 17:31:35 UTC
README
查看 @gebruederheitz/wp-block-video-overlay
使用方法
注册块
假设您已经在某处初始化了 gebruederheitz/wp-gutenberg-blocks 块注册器
\Gebruederheitz\GutenbergBlocks\BlockRegistrar::getInstance();
然后您只需实例化一个 VideoOverlayBlock
new \Gebruederheitz\GutenbergBlocks\VideoOverlay\VideoOverlayBlock();
使用同意管理功能
使用此块和 @gebruederheitz/consent-tools,管理第三方平台的用户同意非常简单。要为 @gebruderheitz/wp-block-video-overlay 中的编辑器脚本提供一个可能的嵌入类型列表,请使用过滤器钩子
use Gebruederheitz\GutenbergBlocks\VideoOverlay\VideoOverlayBlock; add_filter(VideoOverlayBlock::HOOK_EMBED_TYPES, function ($embedTypes) use $services { $embedTypes[''] = ['displayName' => 'internal']; foreach ($services as $serviceId => $service) { $embedTypes[$serviceId] = [ 'displayName' => $service['prettyName'] ?? $serviceId, ]; } return $embedTypes; });
更改默认嵌入提供者
您可以直接将默认服务的标识符传递给构造函数
use Gebruederheitz\GutenbergBlocks\VideoOverlay\VideoOverlayBlock; new VideoOverlayBlock(); // Default: 'youtube' service (data-ghct-src and data-ghct-type="youtube") new VideoOverlayBlock(''); // Default: no consent management (src and no data-ghct-src) new VideoOverlayBlock('vimeo') // Default: 'vimeo' service (data-ghct-src and data-ghct-type="vimeo")
启用视频字幕
使用过滤器钩子 HOOK_CC_LANG_PREFS 提供您网站上可用的语言数组,以允许编辑器为 YouTube 字幕输入语言预设
add_filter(VideoOverlayBlock::HOOK_CC_LANG_PREFS, function ($enabled) { /* ... */ return true; });
编辑器可以在块编辑器中输入字符串,代表语言或区域代码(如 "en"、"en-GB"、"en-US"、"fr"、"de-DE" 等)。输入会被清理,只允许字母数字字符、破折号和下划线。
定义附加属性
是的,有过滤器钩子可以做到这一点
use Gebruederheitz\GutenbergBlocks\VideoOverlay\VideoOverlayBlock; add_filter(VideoOverlayBlock::HOOK_ATTRIBUTES, function ($attributes) { $attributes['myCustomAttribute'] = [ 'type' => 'string', 'default' => 'attribute default value', ]; return $attributes; })
更改块标记
您可以通过将文件放入 wp-content/themes/{your-theme}/template-parts/blocks/video-overlay.php 来覆盖块使用的模板。可以使用 get_query_var('attributeName') 访问块的属性。例如,查看 默认模板。
或者,您还可以过滤并覆盖模板部分路径,以获得更多的控制
add_filter(VideoOverlayBlock::HOOK_TEMPLATE_PARTIAL, function (string $partial, string $type, array $attributes) { if ($type === 'overlay') { return get_theme_file_path('templates/block/video/video-type-overlay.php'); } return $partial; }, 3);