Öffnet in einem neuen Tab
Gaming Stuhl Test
Bestenliste
<?php
$gst_test_category_specs = array(
    array( 'taxonomy' => 'produktklasse', 'slug' => 'oberklasse',       'label' => 'Oberklasse' ),
    array( 'taxonomy' => 'produktklasse', 'slug' => 'mittelklasse',     'label' => 'Mittelklasse' ),
    array( 'taxonomy' => 'produktklasse', 'slug' => 'einsteigerklasse', 'label' => 'Einsteigerklasse' ),
    array( 'taxonomy' => 'bauart',        'slug' => 'racing',           'label' => 'Racing' ),
    array( 'taxonomy' => 'bauart',        'slug' => 'hybrid',           'label' => 'Hybrid' ),
    array( 'taxonomy' => 'bauart',        'slug' => 'ergonomisch',      'label' => 'Ergonomisch' ),
);

$gst_mobile_test_terms = array();
foreach ( $gst_test_category_specs as $gst_spec ) {
    if ( ! taxonomy_exists( $gst_spec['taxonomy'] ) ) {
        continue;
    }

    $gst_term = get_term_by( 'slug', $gst_spec['slug'], $gst_spec['taxonomy'] );
    if ( ! $gst_term ) {
        $gst_term = get_term_by( 'name', $gst_spec['label'], $gst_spec['taxonomy'] );
    }

    if ( $gst_term instanceof WP_Term ) {
        $gst_mobile_test_terms[] = array(
            'term'  => $gst_term,
            'label' => $gst_spec['label'],
        );
    }
}

$gst_mobile_categories = get_categories( array(
    'hide_empty' => true,
    'orderby'    => 'count',
    'order'      => 'DESC',
    'number'     => 6,
) );
?>
<div class="gst-mobile-offcanvas" aria-hidden="true">
  <button class="gst-mobile-backdrop" type="button" aria-label="Menü schließen" tabindex="-1"></button>
  <nav class="gst-mobile-panel" id="gst-mobile-menu" aria-label="Mobile Navigation">
    <div class="gst-mobile-head">
      <a class="gst-mobile-logo" href="/" aria-label="Gaming Stuhl Test – Startseite">
        <img src="https://gaming-stuhl-test.com/wp-content/uploads/2026/08/gaming-stuhl-test-logo-weiss-transparent-300x67-1.webp" alt="Gaming Stuhl Test" width="300" height="67">
      </a>
      <button class="gst-mobile-close" type="button" aria-label="Menü schließen">
        <svg viewBox="0 0 24 24" width="26" height="26" aria-hidden="true"><path d="M5 5l14 14M19 5L5 19" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"/></svg>
      </button>
    </div>

    <div class="gst-mobile-content">
    <p class="gst-mobile-title">Menü</p>

    <form class="gst-mobile-search" action="/" method="get" role="search">
      <label class="screen-reader-text" for="gst-mobile-search-field">Website durchsuchen</label>
      <input id="gst-mobile-search-field" name="s" type="search" placeholder="Wonach suchst du?">
      <button type="submit" aria-label="Suche starten">
        <svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true"><circle cx="10.8" cy="10.8" r="6.8" fill="none" stroke="currentColor" stroke-width="2"/><path d="M16 16l5 5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>
      </button>
    </form>

    <div class="gst-mobile-links">
      <a class="gst-mobile-main-link" href="/"><span>Home</span></a>
      <a class="gst-mobile-main-link" href="/bestenliste/"><span>Bestenliste <small class="gst-mobile-hot">Hot</small></span></a>

      <details class="gst-mobile-group">
        <summary><span>Testberichte</span><svg class="gst-mobile-chevron-svg" aria-hidden="true" viewBox="0 0 32 32"><path clip-rule="evenodd" d="m4.93934 10.9393c.58579-.5857 1.53553-.5857 2.12132 0l8.93934 8.9394 8.9393-8.9394c.5858-.5857 1.5356-.5857 2.1214 0 .5857.5858.5857 1.5356 0 2.1214l-10 10c-.5858.5857-1.5356.5857-2.1214 0l-9.99996-10c-.58579-.5858-.58579-1.5356 0-2.1214z" fill="currentColor" fill-rule="evenodd"/></svg></summary>
        <div class="gst-mobile-submenu">
          <a class="gst-mobile-all" href="/produkt/">Alle Testberichte <svg class="gst-link-arrow-svg" aria-hidden="true" viewBox="0 0 28444 28444"><path d="m4382 1866h22196v22196h-2490v-17938l-20093 20093-1768-1767 20094-20094h-17939z" fill="currentColor" fill-rule="nonzero"/></svg></a>
          <?php foreach ( $gst_mobile_test_terms as $gst_mobile_item ) :
              $gst_mobile_term = $gst_mobile_item['term'];
              $gst_mobile_link = get_term_link( $gst_mobile_term );
              if ( is_wp_error( $gst_mobile_link ) ) { continue; }
          ?>
            <a href="<?php echo esc_url( $gst_mobile_link ); ?>">
              <span><?php echo esc_html( $gst_mobile_item['label'] ); ?></span>
              <small><?php echo esc_html( $gst_mobile_term->count ); ?></small>
            </a>
          <?php endforeach; ?>
        </div>
      </details>

      <details class="gst-mobile-group">
        <summary><span>Ratgeber</span><svg class="gst-mobile-chevron-svg" aria-hidden="true" viewBox="0 0 32 32"><path clip-rule="evenodd" d="m4.93934 10.9393c.58579-.5857 1.53553-.5857 2.12132 0l8.93934 8.9394 8.9393-8.9394c.5858-.5857 1.5356-.5857 2.1214 0 .5857.5858.5857 1.5356 0 2.1214l-10 10c-.5858.5857-1.5356.5857-2.1214 0l-9.99996-10c-.58579-.5858-.58579-1.5356 0-2.1214z" fill="currentColor" fill-rule="evenodd"/></svg></summary>
        <div class="gst-mobile-submenu">
          <a class="gst-mobile-all" href="/ratgeber/">Alle Ratgeber <svg class="gst-link-arrow-svg" aria-hidden="true" viewBox="0 0 28444 28444"><path d="m4382 1866h22196v22196h-2490v-17938l-20093 20093-1768-1767 20094-20094h-17939z" fill="currentColor" fill-rule="nonzero"/></svg></a>
          <?php foreach ( $gst_mobile_categories as $gst_mobile_category ) :
              $gst_mobile_category_link = get_category_link( $gst_mobile_category );
              if ( is_wp_error( $gst_mobile_category_link ) ) { continue; }
          ?>
            <a href="<?php echo esc_url( $gst_mobile_category_link ); ?>">
              <span><?php echo esc_html( $gst_mobile_category->name ); ?></span>
              <small><?php echo esc_html( $gst_mobile_category->count ); ?></small>
            </a>
          <?php endforeach; ?>
        </div>
      </details>

      <a class="gst-mobile-main-link" href="/angebote/"><span>Angebote</span></a>
    </div>

    <div class="gst-mobile-meta">
      <strong>Sonstiges</strong>
      <div class="gst-mobile-meta-links">
        <a href="/ueber-uns/">Über uns <svg class="gst-link-arrow-svg" aria-hidden="true" viewBox="0 0 28444 28444"><path d="m4382 1866h22196v22196h-2490v-17938l-20093 20093-1768-1767 20094-20094h-17939z" fill="currentColor" fill-rule="nonzero"/></svg></a>
        <a href="/wie-wir-testen/">Wie wir testen <svg class="gst-link-arrow-svg" aria-hidden="true" viewBox="0 0 28444 28444"><path d="m4382 1866h22196v22196h-2490v-17938l-20093 20093-1768-1767 20094-20094h-17939z" fill="currentColor" fill-rule="nonzero"/></svg></a>
      </div>
    </div>
    </div>
  </nav>
</div>

<script>
(function () {
  function initGstMobileMenu() {
    var shell = document.querySelector('.gst-mobile-offcanvas');
    var trigger = document.querySelector('.okdyjt73');
    if (!shell || !trigger || shell.dataset.gstReady === 'true') return;

    var panel = shell.querySelector('.gst-mobile-panel');
    var closeButton = shell.querySelector('.gst-mobile-close');
    var backdrop = shell.querySelector('.gst-mobile-backdrop');
    var firstInput = shell.querySelector('input');
    var lastFocus = null;
    shell.dataset.gstReady = 'true';
    trigger.setAttribute('aria-controls', 'gst-mobile-menu');

    function openMenu() {
      if (!window.matchMedia('(max-width: 767px)').matches) return;
      lastFocus = document.activeElement;
      shell.classList.add('is-open');
      shell.setAttribute('aria-hidden', 'false');
      trigger.setAttribute('aria-expanded', 'true');
      document.documentElement.classList.add('gst-mobile-menu-open');
      document.body.classList.add('gst-mobile-menu-open');
      window.setTimeout(function () { closeButton.focus(); }, 80);
    }

    function closeMenu() {
      shell.classList.remove('is-open');
      shell.setAttribute('aria-hidden', 'true');
      trigger.setAttribute('aria-expanded', 'false');
      document.documentElement.classList.remove('gst-mobile-menu-open');
      document.body.classList.remove('gst-mobile-menu-open');
      if (lastFocus && typeof lastFocus.focus === 'function') lastFocus.focus();
    }

    trigger.addEventListener('click', function (event) {
      if (!window.matchMedia('(max-width: 767px)').matches) return;
      event.preventDefault();
      event.stopPropagation();
      if (shell.classList.contains('is-open')) closeMenu();
      else openMenu();
    });
    closeButton.addEventListener('click', closeMenu);
    backdrop.addEventListener('click', closeMenu);
    shell.querySelectorAll('a').forEach(function (link) {
      link.addEventListener('click', closeMenu);
    });
    document.addEventListener('keydown', function (event) {
      if (event.key === 'Escape' && shell.classList.contains('is-open')) closeMenu();
      if (event.key === 'Tab' && shell.classList.contains('is-open')) {
        var focusable = panel.querySelectorAll('a, button, input, summary, [tabindex]:not([tabindex="-1"])');
        if (!focusable.length) return;
        var first = focusable[0];
        var last = focusable[focusable.length - 1];
        if (event.shiftKey && document.activeElement === first) {
          event.preventDefault(); last.focus();
        } else if (!event.shiftKey && document.activeElement === last) {
          event.preventDefault(); first.focus();
        }
      }
    });
    window.addEventListener('resize', function () {
      if (!window.matchMedia('(max-width: 767px)').matches) closeMenu();
    }, { passive: true });
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initGstMobileMenu, { once: true });
  } else {
    initGstMobileMenu();
  }
})();
</script>

Vergleich & Bewertungen

Gründer

Testberichte von Vergleich & Bewertungen

0 Tests

Beiträge von Vergleich & Bewertungen

1 Beiträge