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.
70 lines
2.9 KiB
PHP
70 lines
2.9 KiB
PHP
<?php
|
|
/**
|
|
* Cover featured editor box.
|
|
*
|
|
* @var array $ctx
|
|
* @package AKSRT
|
|
*/
|
|
defined('ABSPATH') || exit;
|
|
|
|
if (empty($ctx['settings']['allow_cover'])) {
|
|
return;
|
|
}
|
|
if (empty($ctx['can_cover_image']) && empty($ctx['can_cover_slide']) && empty($ctx['can_cover_video'])) {
|
|
return;
|
|
}
|
|
|
|
$args = $ctx['featured_args'] ?? [];
|
|
$type = (string) ($args['type'] ?? '');
|
|
$data = $args['data'] ?? [];
|
|
$can_image = !empty($ctx['can_cover_image']);
|
|
$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)); ?>">
|
|
<div class="featured-preview" data-featured-preview>
|
|
<?php if ($type === 'image' && !empty($data['url'])) : ?>
|
|
<img src="<?php echo esc_url((string) $data['url']); ?>" alt="">
|
|
<?php elseif ($type === 'slide' && is_array($data) && !empty($data[0]['url'])) : ?>
|
|
<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') : ?>
|
|
<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>
|
|
<div class="btns-full flex ac jc">
|
|
<?php if ($can_image) : ?>
|
|
<button type="button" class="but btn-image" data-featured-action="image">
|
|
<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'); ?>
|
|
</button>
|
|
<?php endif; ?>
|
|
<?php if ($can_video) : ?>
|
|
<button type="button" class="but btn-video" data-featured-action="video">
|
|
<i class="fa fas fa-video"></i> <?php esc_html_e('视频', 'aksrt'); ?>
|
|
</button>
|
|
<?php endif; ?>
|
|
<button type="button" class="but c-red btn-delete" data-featured-action="close" <?php echo $type === '' ? 'hidden' : ''; ?>>
|
|
<i class="fa fas fa-trash-alt"></i> <?php esc_html_e('清除', 'aksrt'); ?>
|
|
</button>
|
|
</div>
|
|
<input type="hidden" name="featured_data" value="<?php echo esc_attr(wp_json_encode(['type' => $type, 'data' => $data])); ?>" data-featured-json>
|
|
</div>
|