diff --git a/assets/css/frontend/widget-batch5.css b/assets/css/frontend/widget-batch5.css index 4e20b93c..530b4817 100644 --- a/assets/css/frontend/widget-batch5.css +++ b/assets/css/frontend/widget-batch5.css @@ -2426,3 +2426,8 @@ a.main-color > .icon-cover-card:hover, .aksrt-ftab__panel[hidden] { display: none !important; } .aksrt-ftab__panel.is-ajax-loading { opacity: .65; pointer-events: none; } .aksrt-reviews__avatar.aksrt-lazy { object-fit: cover; border-radius: 50%; } + + +/* batch31-33 residual */ +.aksrt-fi__img.aksrt-lazy { width: 100%; height: 100%; object-fit: cover; display: block; position: absolute; inset: 0; } +.aksrt-fi__video { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; } diff --git a/src/AKSRT/Core/WidgetAjax.php b/src/AKSRT/Core/WidgetAjax.php index 8e60cbbf..d1daa471 100644 --- a/src/AKSRT/Core/WidgetAjax.php +++ b/src/AKSRT/Core/WidgetAjax.php @@ -129,15 +129,31 @@ class WidgetAjax { if (function_exists('aksrt_home_widget_render_post_grid')) { aksrt_home_widget_render_post_grid($query, $layout, $columns, $context); } elseif ($query->have_posts()) { - echo '
'; + } else { + echo function_exists('aksrt_get_ajax_null') + ? aksrt_get_ajax_null(__('暂无文章', 'aksrt')) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + : ''; } wp_reset_postdata(); - return new \WP_REST_Response(['success' => true, 'html' => (string) ob_get_clean()], 200); + $html = (string) ob_get_clean(); + if ($html === '') { + $html = function_exists('aksrt_get_ajax_null') + ? aksrt_get_ajax_null(__('暂无文章', 'aksrt')) + : ''; + } + return new \WP_REST_Response(['success' => true, 'html' => $html], 200); } public function rest_hot_posts(\WP_REST_Request $request) { diff --git a/src/AKSRT/Widgets/ButtonsWidget.php b/src/AKSRT/Widgets/ButtonsWidget.php index b28a6bb3..98ddbfc7 100644 --- a/src/AKSRT/Widgets/ButtonsWidget.php +++ b/src/AKSRT/Widgets/ButtonsWidget.php @@ -28,6 +28,16 @@ class ButtonsWidget extends \WP_Widget { if (!$buttons && isset($instance['items']) && is_array($instance['items'])) { $buttons = $instance['items']; } + if (!$buttons) { + if (current_user_can('manage_options')) { + echo $args['before_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + echo function_exists('aksrt_get_widget_null') + ? aksrt_get_widget_null(__('请添加至少一个按钮', 'aksrt')) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + : ''; + echo $args['after_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + } + return; + } $align = sanitize_key((string) ($instance['align'] ?? 'center')); if (!in_array($align, ['left', 'center', 'right'], true)) { diff --git a/src/AKSRT/Widgets/IconCardsWidget.php b/src/AKSRT/Widgets/IconCardsWidget.php index c34988b2..8bfe13d0 100644 --- a/src/AKSRT/Widgets/IconCardsWidget.php +++ b/src/AKSRT/Widgets/IconCardsWidget.php @@ -25,6 +25,13 @@ class IconCardsWidget extends \WP_Widget { public function widget($args, $instance): void { $cards = $this->normalize($instance['cards'] ?? []); if (!$cards) { + if (current_user_can('manage_options')) { + echo $args['before_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + echo function_exists('aksrt_get_widget_null') + ? aksrt_get_widget_null(__('请添加至少一张图标卡', 'aksrt')) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + : ''; + echo $args['after_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + } return; } diff --git a/src/AKSRT/Widgets/WidgetComboInfo.php b/src/AKSRT/Widgets/WidgetComboInfo.php index 07feca43..95fd4892 100644 --- a/src/AKSRT/Widgets/WidgetComboInfo.php +++ b/src/AKSRT/Widgets/WidgetComboInfo.php @@ -27,6 +27,13 @@ class WidgetComboInfo extends \WP_Widget { public function widget($args, $instance): void { $cards = $this->normalize_cards($instance['cards'] ?? []); if (!$cards) { + if (current_user_can('manage_options')) { + echo $args['before_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + echo function_exists('aksrt_get_widget_null') + ? aksrt_get_widget_null(__('请添加至少一张组合信息卡', 'aksrt')) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + : ''; + echo $args['after_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + } return; } diff --git a/src/AKSRT/Widgets/WidgetCoverCards.php b/src/AKSRT/Widgets/WidgetCoverCards.php index 23937c9b..4898a319 100644 --- a/src/AKSRT/Widgets/WidgetCoverCards.php +++ b/src/AKSRT/Widgets/WidgetCoverCards.php @@ -27,6 +27,13 @@ class WidgetCoverCards extends \WP_Widget { $title = !empty($instance['title']) ? (string) $instance['title'] : ''; $items = $this->normalize($instance['items'] ?? []); if (!$items) { + if (current_user_can('manage_options')) { + echo $args['before_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + echo function_exists('aksrt_get_widget_null') + ? aksrt_get_widget_null(__('请添加至少一张封面卡片', 'aksrt')) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + : ''; + echo $args['after_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + } return; } diff --git a/src/AKSRT/Widgets/WidgetFeatureIntro.php b/src/AKSRT/Widgets/WidgetFeatureIntro.php index 97664480..5f718b6b 100644 --- a/src/AKSRT/Widgets/WidgetFeatureIntro.php +++ b/src/AKSRT/Widgets/WidgetFeatureIntro.php @@ -25,6 +25,13 @@ class WidgetFeatureIntro extends \WP_Widget { public function widget($args, $instance): void { $slides = $this->normalize_slides($instance['slides'] ?? []); if (!$slides) { + if (current_user_can('manage_options')) { + echo $args['before_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + echo function_exists('aksrt_get_widget_null') + ? aksrt_get_widget_null(__('请添加至少一个功能介绍面板', 'aksrt')) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + : ''; + echo $args['after_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + } return; } $heading = trim((string) ($instance['heading'] ?? '')); @@ -85,9 +92,14 @@ class WidgetFeatureIntro extends \WP_Widget { if ($s['media_type'] === 'video' && $s['video_url'] !== '') { $poster = $s['video_poster'] !== '' ? ' poster="' . esc_url($s['video_poster']) . '"' : ''; $auto = $i === 0 ? ' autoplay' : ''; - echo ''; + if ($i === 0) { + echo ''; + } else { + echo ''; + } } elseif ($s['image'] !== '') { - echo '