Tutoriale WordPress de încredere, atunci când aveți cea mai mare nevoie.
Ghidul începătorului pentru WordPress
Cupa WPB
25 de milioane+
Site-uri web care folosesc plugin-urile noastre
16+
Ani de experiență WordPress
3000+
Tutoriale WordPress de la experți

Cum să faci ca ultimul widget din bara laterală din WordPress să apară treptat folosind jQuery

Recent, unul dintre utilizatorii noștri ne-a întrebat cum să adăugăm un efect de fade-in pentru ultimul widget din bara laterală. Acest efect popular jQuery este folosit pe multe site-uri și bloguri cunoscute. Pe măsură ce utilizatorul derulează pagina în jos, ultimul widget din bara laterală apare treptat și devine vizibil. Animația face widgetul atrăgător și vizibil, ceea ce crește dramatic rata de clic. În acest articol, vă vom arăta cum să faceți ca ultimul widget din bara laterală să apară treptat în WordPress folosind jQuery.

Mai jos este o demonstrație a cum ar arăta:

Apariția ultimului widget din bara laterală în WordPress

În acest tutorial, veți modifica fișierele temei dvs. Se recomandă să faceți backup temei dvs. înainte de a continua.

Pasul 1: Adăugarea JavaScript pentru efectul de estompare

Mai întâi, trebuie să adăugați codul jQuery la tema WordPress ca un fișier JavaScript separat. Începeți prin a deschide un fișier gol într-un editor de text precum Notepad. Apoi salvați acest fișier gol ca wpb_fadein_widget.js pe desktop și lipiți următorul cod în el.

jQuery(document).ready(function($) {
/**
* Configuration
* The container for your sidebar e.g. aside, #sidebar etc.
*/

var sidebarElement = $('div#secondary');


// Check if the sidebar exists
if ($(sidebarElement).length > 0) {

// Get the last widget in the sidebar, and its position on screen

var widgetDisplayed = false;
var lastWidget = $('.widget:last-child', $(sidebarElement));
var lastWidgetOffset = $(lastWidget).offset().top -100;
	
// Hide the last widget
$(lastWidget).hide();
	
// Check if user scroll have reached the top of the last widget and display it
$(document).scroll(function() {

// If the widget has been displayed, we don't need to keep doing a check.

if (!widgetDisplayed) {
if($(this).scrollTop() > lastWidgetOffset) {
$(lastWidget).fadeIn('slow').addClass('wpbstickywidget');
widgetDisplayed = true;  
}
}
});
}
});

Cea mai importantă linie din acest cod este var sidebarElement = $('div#secondary');.

Acesta este ID-ul div-ului care conține bara laterală. Deoarece fiecare temă poate folosi diferite div-uri de container pentru bara laterală, trebuie să aflați ID-ul containerului pe care tema dvs. îl folosește pentru bara laterală.

Puteți afla acest lucru folosind instrumentul Inspect Element din Google Chrome. Pur și simplu faceți clic dreapta pe bara laterală în Google Chrome, apoi selectați Inspect Element.

Găsirea ID-ului containerului sidebar în codul sursă

În codul sursă, veți putea vedea div-ul containerului barei laterale. De exemplu, tema implicită Twenty Twelve folosește secondary, iar Twenty Thirteen folosește tertiary ca ID pentru containerul barei laterale. Trebuie să înlocuiți secondary cu ID-ul div-ului containerului barei laterale.

Apoi, trebuie să folosiți un Client FTP pentru a încărca acest fișier în folderul js din directorul temei WordPress. Dacă directorul temei nu are un folder js, atunci trebuie să îl creați făcând clic dreapta și selectând „Create New Directory” în clientul FTP.

Pasul 2: Înregistrarea JavaScript-ului în Tema WordPress

Acum că scriptul dvs. jQuery este gata, este timpul să îl adăugați în tema dvs. Vom folosi metoda corectă de adăugare a javascriptului în tema dvs., așa că pur și simplu lipiți următorul cod în fișierul functions.php al temei dvs.

wp_enqueue_script( 'stickywidget', get_template_directory_uri() . '/js/wpb-fadein-widget.js', array('jquery'), '1.0.0', true );

Acesta este totul, acum puteți adăuga un widget în bara laterală pe care doriți să apară cu efectul de estompare și apoi vizitați site-ul dvs. pentru a-l vedea în acțiune.

Pasul 3: Faceți ultimul widget lipicios după efectul de estompare

O caracteristică dorită adesea odată cu efectul de estompare este de a face ultimul widget din bara laterală să se deruleze pe măsură ce utilizatorul derulează. Aceasta se numește widget plutitor sau widget fix.

Dacă priviți codul jQuery de mai sus, veți observa că am adăugat o clasă CSS wpbstickywidget widget-ului după efectul de estompare. Puteți folosi această clasă CSS pentru a face ultimul widget lipicios după ce acesta dispare. Tot ce trebuie să faceți este să lipiți acest CSS în foaia de stil a temei dvs.

.wpbstickywidget { 
position:fixed;
top:0px; 
}

Simțiți-vă liber să modificați CSS-ul pentru a corespunde nevoilor dumneavoastră. Puteți schimba culoarea de fundal sau fonturile pentru a face widgetul și mai proeminent. Dacă doriți, puteți chiar adăuga un efect de derulare lină în sus lângă ultimul widget, care va permite utilizatorilor să deruleze rapid înapoi.

Sperăm că acest articol v-a ajutat să adăugați un efect de fade-in ultimului widget din bara laterală WordPress. Pentru mai multe informații despre jQuery, consultați cele mai bune tutoriale jQuery pentru WordPress.

Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Google+.

Dezvăluire: Conținutul nostru este susținut de cititori. Acest lucru înseamnă că dacă faceți clic pe unele dintre linkurile noastre, este posibil să câștigăm un comision. Vedeți cum este finanțat WPBeginner, de ce contează și cum ne puteți susține. Iată procesul nostru editorial.

Cel mai bun instrumentar WordPress

Obține acces GRATUIT la instrumentarul nostru - o colecție de produse și resurse legate de WordPress pe care fiecare profesionist ar trebui să le aibă!

Interacțiuni cu cititorii

9 CommentsLeave a Reply

  1. Încerc să implementez asta pe site-ul meu, dar nu funcționează

    2 întrebări

    poți să-mi verific site-ul și să verifici id-ul div-ului din bara laterală?

    De asemenea, ar trebui ca enqueue script să fie get_stylesheet_directory_uri() . și nu get_template_directory

    Mulțumesc – aș dori să fac acest lucru să funcționeze
    Roger

  2. Mă întrebam dacă se poate face în loc de fade-in, fade-out pentru un widget „sticky”?

  3. Salut, încerc să implementez asta pe pagina mea și nu reușesc să o fac să funcționeze. Am adăugat fișierul .js în folderul js al directorului temei mele și l-am adăugat în functions.php, dar nu apare nicio estompare. Unde exact ar trebui să-l adaug în functions.php, având în vedere că este un fișier mare.

    Folosesc twenty fourteen, iar ID-ul barei mele laterale este „content-sidebar”, pe care l-am schimbat în fișierul .js. Am câteva alte widget-uri în bara laterală, așa că poate ceva intră în conflict?

    Orice ajutor este apreciat! Mulțumesc.

    • Iată codul meu .JS

      jQuery(document).ready(function($) { /** * Configurare * Containerul pentru bara ta laterală, de ex. aside, #sidebar etc. */

      var sidebarElement = $(‘div#content-sidebar’);

      // Verifică dacă bara laterală există
      if ($(sidebarElement).length > 0) {

      // Obține ultimul widget din sidebar și poziția sa pe ecran

      var widgetDisplayed = false;
      var lastWidget = $(‘.widget:last-child’, $(sidebarElement));
      var lastWidgetOffset = $(lastWidget).offset().top -100;

      // Ascunde ultimul widget $(lastWidget).hide();

      // Verifică dacă derularea utilizatorului a ajuns în partea de sus a ultimului widget și afișează-l $(document).scroll(function() {

      // Dacă widgetul a fost afișat, nu mai este nevoie să continuăm verificarea.

      if (!widgetDisplayed) { if($(this).scrollTop() > lastWidgetOffset) { $(lastWidget).fadeIn('slow').addClass('wpbstickywidget'); widgetDisplayed = true; } } }); } });

  4. Salut wpbeginner, îmi place acest tweak și soluția pe care o oferiți comunității, mulțumesc mult! Am o întrebare, vă rog, cum pot integra sau dacă există un plugin/soluție care poate fi folosit pentru a interoga formularele de aplicație trimise de solicitanți și rezultatul să apară în tabloul de bord al administratorului, de exemplu; câți solicitanți au sub 25 de ani? și pluginul ar trebui să extragă rezultatul din baza de date și să afișeze detaliile relevante într-un tabel frumos care poate fi exportat în Excel. Posibil? Vă rog să mă sfătuiți. Mulțumesc

    • Puteți verifica Gravity forms pentru asta, dar va trebui să știți ceva PHP. Altfel, va trebui să plătiți un dezvoltator pentru a vă ajuta să obțineți ceea ce aveți nevoie.

    • Nu este asta un pic în afara subiectului? Ai făcut asta intenționat? Dacă ai o întrebare pentru personalul WP, de ce nu folosești funcția de contact pentru a nu scoate postarea de pe blog din subiect?

Lasă un răspuns

Vă mulțumim că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de comentarii, iar adresa dvs. de e-mail NU va fi publicată. Vă rugăm să NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.