feat(submit): add video cover picker with playable video preview
Featured video preview now renders a real DPlayer (video-url/video-pic) like the reference theme instead of a static image, so the cover video plays on the submit page. Top-right bar gains the video-cover button shown only when a video cover is loaded; backend honors pic_id and no longer deletes the thumbnail before cover validation. Drop dead i18n keys and data-can-* attributes.
This commit is contained in:
@@ -147,9 +147,8 @@ if (file_exists($js)) {
|
||||
'fileTooLarge' => __('文件大小超过限制', 'aksrt'),
|
||||
'lastSaved' => __('最后保存:', 'aksrt'),
|
||||
'preview' => __('预览文章', 'aksrt'),
|
||||
'pickImage' => __('选择图片', 'aksrt'),
|
||||
'pickVideo' => __('选择视频封面图', 'aksrt'),
|
||||
'videoUrl' => __('请输入视频地址', 'aksrt'),
|
||||
'setVideoCover' => __('设置视频首图封面', 'aksrt'),
|
||||
'setVideoCoverTitle' => __('为视频设置首图封面', 'aksrt'),
|
||||
'close' => __('关闭', 'aksrt'),
|
||||
'insertImage' => __('插入图片', 'aksrt'),
|
||||
'uploadImage' => __('上传图片', 'aksrt'),
|
||||
@@ -198,8 +197,6 @@ if (file_exists($js)) {
|
||||
'maxMediaItems' => __('最多选择 %d 个文件', 'aksrt'),
|
||||
'uploadingClose' => __('上传中,请稍候再关闭', 'aksrt'),
|
||||
'mediaPickerUnavailable' => __('媒体选择器加载失败,请刷新页面后重试', 'aksrt'),
|
||||
'pickVideoResource' => __('选择视频资源', 'aksrt'),
|
||||
'pickVideoCover' => __('选择视频封面(可选)', 'aksrt'),
|
||||
'download' => __('下载', 'aksrt'),
|
||||
|
||||
'quote' => __('引言', 'aksrt'),
|
||||
|
||||
@@ -22,10 +22,7 @@ $can_slide = !empty($ctx['can_cover_slide']);
|
||||
$can_video = !empty($ctx['can_cover_video']);
|
||||
?>
|
||||
<div class="featured-edit<?php echo $type !== '' ? ' featured-loaded ' . esc_attr($type) : ''; ?>"
|
||||
data-featured-args="<?php echo esc_attr(wp_json_encode($args)); ?>"
|
||||
data-can-image="<?php echo $can_image ? '1' : '0'; ?>"
|
||||
data-can-slide="<?php echo $can_slide ? '1' : '0'; ?>"
|
||||
data-can-video="<?php echo $can_video ? '1' : '0'; ?>">
|
||||
data-featured-args="<?php echo esc_attr(wp_json_encode($args)); ?>">
|
||||
<div class="featured-preview" data-featured-preview>
|
||||
<?php if ($type === 'image' && !empty($data['url'])) : ?>
|
||||
<img src="<?php echo esc_url((string) $data['url']); ?>" alt="">
|
||||
@@ -33,11 +30,13 @@ $can_video = !empty($ctx['can_cover_video']);
|
||||
<img src="<?php echo esc_url((string) $data[0]['url']); ?>" alt="">
|
||||
<span class="featured-type-badge"><i class="fa fas fa-image"></i></span>
|
||||
<?php elseif ($type === 'video') : ?>
|
||||
<?php if (!empty($data['pic'])) : ?>
|
||||
<img src="<?php echo esc_url((string) $data['pic']); ?>" alt="">
|
||||
<?php else : ?>
|
||||
<div class="featured-video-placeholder"><i class="fa fas fa-play"></i></div>
|
||||
<?php endif; ?>
|
||||
<div class="new-dplayer dplayer-scale-height" style="--scale-height:50%;"
|
||||
video-url="<?php echo esc_url((string) ($data['url'] ?? '')); ?>"
|
||||
video-pic="<?php echo esc_url((string) ($data['pic'] ?? '')); ?>">
|
||||
<div class="graphic" style="padding-bottom:50%;">
|
||||
<div class="abs-center text-center"><i class="fa fas fa-play-circle fa-4x muted-3-color opacity5" aria-hidden="true"></i></div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="featured-type-badge"><i class="fa fas fa-video"></i></span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
@@ -47,6 +46,11 @@ $can_video = !empty($ctx['can_cover_video']);
|
||||
<i class="fa fas fa-image"></i> <?php esc_html_e('图片', 'aksrt'); ?>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
<?php if ($can_video) : ?>
|
||||
<button type="button" class="but btn-video-pic" data-featured-action="video_pic">
|
||||
<i class="fa fas fa-image"></i> <?php esc_html_e('设置视频首图封面', 'aksrt'); ?>
|
||||
</button>
|
||||
<?php endif; ?>
|
||||
<?php if ($can_slide) : ?>
|
||||
<button type="button" class="but btn-slide" data-featured-action="slide">
|
||||
<i class="fa fas fa-image"></i> <?php esc_html_e('幻灯片', 'aksrt'); ?>
|
||||
|
||||
Reference in New Issue
Block a user