diff --git a/assets/css/frontend/widget-batch5.css b/assets/css/frontend/widget-batch5.css index 1932594b..bfcfd826 100644 --- a/assets/css/frontend/widget-batch5.css +++ b/assets/css/frontend/widget-batch5.css @@ -367,3 +367,13 @@ text-decoration: none; } .aksrt-scroll-notice__item i { margin-right: 6px; opacity: .85; } + +.hot-post-item { display: flex; align-items: center; gap: 10px; } +.hot-post-item__thumb { + width: 48px; height: 48px; border-radius: 8px; overflow: hidden; flex-shrink: 0; + background: var(--surface-2, #eee); +} +.hot-post-item__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; } +.aksrt-cover-card__bg.is-video video { + width: 100%; height: 100%; object-fit: cover; display: block; +} diff --git a/src/AKSRT/Widgets/FriendLinksWidget.php b/src/AKSRT/Widgets/FriendLinksWidget.php index 3114456c..b4b9de51 100644 --- a/src/AKSRT/Widgets/FriendLinksWidget.php +++ b/src/AKSRT/Widgets/FriendLinksWidget.php @@ -1,5 +1,7 @@ esc_html__('显示友情链接列表', 'aksrt'), - ]); - } + public function __construct() { + parent::__construct('aksrt_friend_links', esc_html__('AKSRT 友情链接', 'aksrt'), [ + 'description' => esc_html__('显示友情链接(设置项或 WordPress 书签)。', 'aksrt'), + ]); + } - public function widget($args, $instance): void { - echo $args['before_widget']; - $title = apply_filters('widget_title', $instance['title'] ?? __('友情链接', 'aksrt'), $instance, $this->id_base); - $show_icon = !empty($instance['show_icon']); - $columns = max(1, min(4, (int) ($instance['columns'] ?? 2))); + public function widget($args, $instance): void { + echo $args['before_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + $title = apply_filters('widget_title', (string) ($instance['title'] ?? __('友情链接', 'aksrt')), $instance, $this->id_base); + $show_icon = !empty($instance['show_icon']) || !isset($instance['show_icon']); + $columns = max(1, min(4, (int) ($instance['columns'] ?? 2))); + $source = sanitize_key((string) ($instance['source'] ?? 'settings')); + $go_link = !empty($instance['go_link']); + $limit = max(1, min(100, (int) ($instance['limit'] ?? 24))); - if ($title) echo $args['before_title'] . esc_html($title) . $args['after_title']; + if ($title) { + echo $args['before_title'] . esc_html($title) . $args['after_title']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + } - $links = class_exists('\AKSRT\Settings\Settings') ? \AKSRT\Settings\Settings::get_friend_links() : []; + $links = $this->resolve_links($source, $instance, $limit); + if (!$links) { + 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; + } + ?> + + - - - ' . esc_html__('暂无友情链接', 'aksrt') . ''; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?> - $instance + * @return array- - -
-- - -
-- -
- - ++ +
++ +
++ + +
++ +
+
+
+
+