feat(widgets): ranking identity, moderators follow, plate chrome

Align UserRanking to zibll user-ranking-item + aksrt_get_user_name + badg,
render moderators via shared rows with follow, deepen plate info cover/stats,
and clean forum tab/terms empty shells.
This commit is contained in:
2026-07-21 10:39:17 +08:00
parent 9c5ac01119
commit 8b5ca8f287
5 changed files with 335 additions and 299 deletions
@@ -74,13 +74,17 @@ class WidgetForumPlateModerator extends \WP_Widget {
}
ob_start();
echo '<div class="aksrt-plate-mods style-' . esc_attr($style) . ' ajax-item">';
echo '<div class="zib-widget moderator-box aksrt-plate-mods style-' . esc_attr($style) . ' ajax-item">';
if ($title_text !== '') {
echo '<div class="aksrt-plate-mods__head"><div class="title-theme">' . esc_html($title_text) . '</div></div>';
echo '<div class="mb10 flex jsb ac aksrt-plate-mods__head"><div class="title-theme">' . esc_html($title_text) . '</div></div>';
}
echo '<div class="aksrt-plate-mods__list">';
foreach ($people as $row) {
$uid = (int) $row['id'];
$uid = (int) $row['id'];
if (function_exists('aksrt_render_moderator_row')) {
echo aksrt_render_moderator_row($uid, (string) $row['role'], $show_avatar, $style); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
continue;
}
$user = get_userdata($uid);
if (!$user) {
continue;
@@ -105,7 +109,7 @@ class WidgetForumPlateModerator extends \WP_Widget {
echo '</a>';
}
echo '</div></div>';
return ['html' => (string) ob_get_clean()];
return ['html' => (string) ob_get_clean()];
}
public function widget($args, $instance): void {