diff --git a/src/AKSRT/Widgets/TabPostsWidget.php b/src/AKSRT/Widgets/TabPostsWidget.php index 22cdbabb..24054024 100644 --- a/src/AKSRT/Widgets/TabPostsWidget.php +++ b/src/AKSRT/Widgets/TabPostsWidget.php @@ -127,6 +127,11 @@ class TabPostsWidget extends \WP_Widget { $tabs = $this->normalize_tabs($instance['tabs'] ?? 'latest,comments,random'); $tabs = array_values(array_filter($tabs, static fn($t) => !empty($t['enabled']))); if (!$tabs) { + if (current_user_can('manage_options')) { + echo function_exists('aksrt_get_widget_null') + ? aksrt_get_widget_null(__('请至少启用一个 Tab', 'aksrt')) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + : '
'; + } echo $args['after_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped return; } diff --git a/src/AKSRT/Widgets/WidgetMainPosts.php b/src/AKSRT/Widgets/WidgetMainPosts.php index 8469ed6b..a42e3b1b 100644 --- a/src/AKSRT/Widgets/WidgetMainPosts.php +++ b/src/AKSRT/Widgets/WidgetMainPosts.php @@ -90,6 +90,29 @@ class WidgetMainPosts extends \WP_Widget { ob_start(); // Outer wrapper only on page 1 full render handled by caller for ajax append items. + $mode = $style === 'card' ? 'card' : ($style === 'mini' ? 'mini' : 'list'); + if (function_exists('aksrt_render_post')) { + $html = ''; + $i = $start; + while ($q->have_posts()) { + $q->the_post(); + $i++; + $html .= aksrt_render_post([ + 'mode' => $mode, + 'context' => 'widget', + 'show_thumb' => $show_thumb, + 'show_meta' => $show_meta, + 'show_excerpt' => $mode === 'list', + 'show_number' => $show_number && $mode === 'mini', + 'number_offset' => $show_number ? $i : 0, + 'extra_class' => 'ajax-item', + ]); + } + wp_reset_postdata(); + return $html; + } + + $placeholder = get_template_directory_uri() . '/assets/img/placeholder.svg'; $i = $start; while ($q->have_posts()) { $q->the_post(); @@ -101,7 +124,7 @@ class WidgetMainPosts extends \WP_Widget { echo ''; echo '