chore: complete M1.1 runtime QA and release packaging

This commit is contained in:
XShop
2026-09-13 19:04:41 +03:30
commit f11e1d650d
66 changed files with 3094 additions and 0 deletions
@@ -0,0 +1,53 @@
<?php
/**
* Site Footer — widgets, nav, branding fallback, copyright.
*
* @package XShop
*/
declare(strict_types=1);
defined('ABSPATH') || exit;
$branding = xshop_get_branding_fallback();
$year = date_i18n('Y');
?>
<div class="xshop-container">
<div class="xshop-footer__widgets">
<?php for ($i = 1; $i <= 4; $i++):
$id = 'footer-' . $i;
$has = is_active_sidebar($id);
?>
<div class="xshop-footer__col">
<?php if ($has): ?>
<?php dynamic_sidebar($id); ?>
<?php else: ?>
<section class="xshop-widget">
<h3 class="xshop-widget__title"><?php echo esc_html(sprintf(esc_html__('Footer %d', 'xshop'), $i)); ?></h3>
<p class="xshop-text-muted" style="font-size:var(--xshop-text-sm)"><?php esc_html_e('Add widgets in Appearance → Widgets.', 'xshop'); ?></p>
</section>
<?php endif; ?>
</div>
<?php endfor; ?>
</div>
<div class="xshop-footer__bottom">
<p style="margin:0">
<?php
// Translators: %1$s year, %2$s site name.
printf(esc_html__('© %1$s %2$s. All rights reserved.', 'xshop'), esc_html($year), esc_html($branding['name']));
?>
</p>
<nav aria-label="<?php esc_attr_e('Footer', 'xshop'); ?>">
<?php
wp_nav_menu([
'theme_location' => 'xshop-footer',
'container' => false,
'menu_class' => 'xshop-footer__nav-list',
'depth' => 1,
'fallback_cb' => false,
]);
?>
</nav>
</div>
</div>