fix(widgets): align tabbed post layouts with reference

This commit is contained in:
kate522 committed 2026-10-29 20:31:39 +08:00
1 parent 17515cf9c5
commit fd034ff055
16 files changed
+1256 -37

No files matched your search

+10 -8
View File
@@ -23,12 +23,12 @@ final class FrontendRenderer {
}
AssetManager::enqueue_for($definition);
if (in_array($definition->slug(), ['user_card', 'author_card'], true)) {
self::render_user_widget($definition, $instance, $widget, $content);
if (in_array($definition->slug(), ['user_card', 'author_card', 'tab_posts'], true)) {
self::render_reference_widget($definition, $instance, $widget, $content);
return;
}
if (in_array($definition->slug(), [
'post_pay', 'tab_posts', 'posts', 'oneline_posts', 'hot_posts',
'post_pay', 'posts', 'oneline_posts', 'hot_posts',
'slider', 'slider_media_combo', 'icon_cards', 'icon_cover_cards',
'buttons', 'notice', 'term_cards', 'term_aggregation', 'media_cards',
'combo_info', 'partners', 'recent_comments', 'posts_toc',
@@ -85,8 +85,11 @@ final class FrontendRenderer {
echo (string) ($args['after_widget'] ?? '</section>'); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
private static function render_user_widget(WidgetDefinition $definition, array $instance, SchemaWidget $widget, string $content): void {
$classes = ['zib-widget-wrap', 'aksrt-user-widget-wrap', 'aksrt-' . str_replace('_', '-', $definition->slug()) . '-wrap'];
private static function render_reference_widget(WidgetDefinition $definition, array $instance, SchemaWidget $widget, string $content): void {
$classes = ['zib-widget-wrap', 'aksrt-' . str_replace('_', '-', $definition->slug()) . '-wrap'];
if (in_array($definition->slug(), ['user_card', 'author_card'], true)) {
$classes[] = 'aksrt-user-widget-wrap';
}
$device_class = WidgetVisibility::device_class($instance);
if ($device_class !== '') {
$classes[] = $device_class;
@@ -97,11 +100,10 @@ final class FrontendRenderer {
$content_classes = ['widget-content'];
if (!empty($instance['animation_in'])) {
$content_classes[] = 'aksrt-widget--animate';
$content_classes[] = 'aksrt-widget--animate-' . sanitize_html_class((string) $instance['animation_in']);
$content_classes[] = 'obs-animate ani-' . sanitize_html_class((string) $instance['animation_in']);
}
if (!empty($instance['animation_repeat'])) {
$content_classes[] = 'aksrt-widget--animate-repeat';
$content_classes[] = 'obs-animate-repeat';
}
$style = self::style($instance);