From 5f398dd9d0c5ac6ea3d03b5c98b2255c7bdb03b5 Mon Sep 17 00:00:00 2001
From: unknown
Date: Sun, 19 Jul 2026 01:28:13 +0800
Subject: [PATCH] feat(widgets): unregister core WP widgets; About guest
signin-loader
Align widget area with zibll by removing default RSS/search/calendar
widgets, and make About guest login buttons open auth modal classes.
---
inc/modules/widgets-register.php | 10 ++++++++++
src/AKSRT/Widgets/AboutWidget.php | 13 +++++++++----
src/AKSRT/Widgets/CustomHtmlGapWidget.php | 6 +++---
3 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/inc/modules/widgets-register.php b/inc/modules/widgets-register.php
index 19a5e2bb..fcde9935 100644
--- a/inc/modules/widgets-register.php
+++ b/inc/modules/widgets-register.php
@@ -10,6 +10,16 @@ defined('ABSPATH') || exit;
/**
* Register custom widgets.
*/
+function aksrt_unregister_default_widgets(): void {
+ unregister_widget('WP_Widget_RSS');
+ unregister_widget('WP_Widget_Recent_Posts');
+ unregister_widget('WP_Widget_Recent_Comments');
+ unregister_widget('WP_Widget_Pages');
+ unregister_widget('WP_Widget_Search');
+ unregister_widget('WP_Widget_Calendar');
+}
+add_action('widgets_init', 'aksrt_unregister_default_widgets', 1);
+
function aksrt_register_widgets() {
register_widget('\AKSRT\Widgets\AboutWidget');
register_widget('\AKSRT\Widgets\CategoriesWidget');
diff --git a/src/AKSRT/Widgets/AboutWidget.php b/src/AKSRT/Widgets/AboutWidget.php
index dd68d1a1..a1aba833 100644
--- a/src/AKSRT/Widgets/AboutWidget.php
+++ b/src/AKSRT/Widgets/AboutWidget.php
@@ -99,8 +99,13 @@ class AboutWidget extends \WP_Widget {
$avatar = get_avatar_url(0, ['size' => 160, 'default' => 'mystery']);
$oauth_html = '';
- if (function_exists('\AKSRT\Auth\OAuth') && method_exists(\AKSRT\Auth\OAuth::get_instance(), 'get_login_buttons')) {
- $oauth_html = \AKSRT\Auth\OAuth::get_instance()->get_login_buttons();
+ if (class_exists('\AKSRT\Auth\OAuth')) {
+ $oauth = \AKSRT\Auth\OAuth::get_instance();
+ if (method_exists($oauth, 'render_social_buttons')) {
+ $oauth_html = (string) $oauth->render_social_buttons(__('社交账号登录', 'aksrt'));
+ } elseif (method_exists($oauth, 'get_login_buttons')) {
+ $oauth_html = (string) $oauth->get_login_buttons();
+ }
}
?>
@@ -120,9 +125,9 @@ class AboutWidget extends \WP_Widget {
diff --git a/src/AKSRT/Widgets/CustomHtmlGapWidget.php b/src/AKSRT/Widgets/CustomHtmlGapWidget.php
index e6d35042..6a02ef61 100644
--- a/src/AKSRT/Widgets/CustomHtmlGapWidget.php
+++ b/src/AKSRT/Widgets/CustomHtmlGapWidget.php
@@ -19,7 +19,7 @@ class CustomHtmlGapWidget extends \WP_Widget {
$mode = sanitize_key($instance['mode'] ?? 'html');
if ($mode === 'gap') {
- $height = max(0, min(200, (int) ($instance['gap_height'] ?? 20)));
+ $height = max(0, min(500, (int) ($instance['gap_height'] ?? 20)));
echo '';
return;
}
@@ -51,7 +51,7 @@ class CustomHtmlGapWidget extends \WP_Widget {
-
+
in_array($new_instance['mode'] ?? '', ['html', 'gap'], true) ? $new_instance['mode'] : 'html',
'title' => sanitize_text_field($new_instance['title'] ?? ''),
'content' => wp_kses_post($new_instance['content'] ?? ''),
- 'gap_height' => max(0, min(200, (int) ($new_instance['gap_height'] ?? 20))),
+ 'gap_height' => max(0, min(500, (int) ($new_instance['gap_height'] ?? 20))),
];
}
}