Se stai utilizzando il tema Astra Free su WordPress e hai configurato il tuo header con la top bar (Above Header) e il Below Header, potresti voler mantenere visibile solo il Primary Header mentre l’utente scorre la pagina. Questo codice CSS e JavaScript ti permette di ottenere esattamente questo risultato, trasformando il tuo header principale in uno sticky header elegante e leggero, perfetto per migliorare l’usabilità e la navigazione del sito.
🔧 Cosa fa questo script?
Quando l’utente scorre la pagina verso il basso:
- Nasconde automaticamente l’above header e il below header.
- Rende il primary header fisso in alto (sticky) con un effetto di transizione fluido.
- Aggiunge uno spazio sotto l’header per evitare “salti” del contenuto.
💡 Perfetto per: blog, siti vetrina, portali aziendali o qualsiasi installazione Astra in cui vuoi massimizzare lo spazio visibile durante la lettura o la navigazione.
📥 Download gratuito
Puoi scaricare il codice gratuitamente e incollarlo direttamente nel tuo tema child o in un plugin di snippet personalizzati. È compatibile con la versione gratuita di Astra e non richiede plugin aggiuntivi.
📌 Come si usa?
1. Copia il CSS nel tuo file style.css
o in Aspetto > Personalizza > CSS Aggiuntivo.
/* Basic styles for the main header */
.ast-main-header-wrap {
z-index: 999;
transition: all 0.3s ease-in-out;
}
/* Hide the above header and below header when the page is scrolled */
body.is-scrolled .ast-above-header-wrap,
body.is-scrolled .ast-below-header-wrap {
display: none !important;
}
/* Make the main header sticky and visible only when scrolling */
body.is-scrolled .ast-main-header-wrap {
position: fixed !important;
top: 0 !important;
width: 100% !important;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) !important;
background-color: #fff !important; /* Background color of the sticky header */
}
/* Push the page content down to prevent layout shift when header becomes fixed */
body.is-scrolled .site-content {
margin-top: 100px !important; /* Set this to the height of your main header (e.g. 100px) */
}
2. Aggiungi lo script PHP nel tuo functions.php
(tema child consigliato).
function custom_sticky_header_script() {
?>
<script>
// Adds or removes the 'is-scrolled' class on the body
function onScroll() {
var scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
if (scrollPos > 100) { // Replace 100 with your desired scroll distance
document.body.classList.add('is-scrolled');
} else {
document.body.classList.remove('is-scrolled');
}
}
window.addEventListener('scroll', onScroll);
</script>
<?php
}
add_action('wp_footer', 'custom_sticky_header_script');
Regola eventuali altezze o colori secondo il tuo design.
✅ Facile da implementare
💨 Nessun impatto sulle performance
📱 Responsive e compatibile con tutti i dispositivi