Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🪟 Modaalaknad WordPressis: kuidas lisada oma saidile hüpiksisu aastal 2026

🪟 Modaalaknad WordPressis: kuidas lisada oma saidile hüpiksisu aastal 2026

💡 Kuidas lisada WordPressi hüpikakent

  • Vali oma lähenemine: Popup Maker plugin kiireks alustuseks või kohandatud kood täielikuks kontrolliks
  • Paigalda Popup Maker jaotise „Plugins → Add New" kaudu ja aktiveeri see
  • Loo uus hüpikaken, määra postituse või lehe sisu ja seadista päästik (klikk, taimer või kerimine)
  • Kohandatud lahenduse puhul lisa modaalakna CSS-stiilid oma teemafaili või kohandajasse
  • Lisa JavaScripti fail wp_enqueue_script() abil, sõltuvusega jquery'st, kontrollides laadimisjärjekorda
  • Ava leht ja testi hüpikakent oma brauseris, jälgides samal ajal konsooli vigade suhtes

Mis on modaalaknad ja miks su WordPressi sait neid vajab

Modaalaken on hüpiksisuplokk, mis avaneb lehe peal, samal ajal tausta hämardades. Kasutaja ei lahku kunagi praeguselt URL-ilt, kuid näeb lisateavet: postituse teksti, vormi, videot või galeriid.

WordPressi saidi puhul lahendavad modaalaknad kolm konkreetset probleemi. Esiteks, kasutaja töölaud: eraldi profiililehe asemel kuvad seadeid, tellimusi või sõnumeid hüpikplokis. Teiseks, kiire sisueelvaade: külastaja klõpsab tootekaardil või artikli teaser'il ja näeb täielikku sisu ilma lehe uuesti laadimiseta. Kolmandaks, müügivihjete kogumise vormid: tellimis-, registreerimis- ja kontaktvormid ilmuvad täpselt siis, kui külastaja on valmis tegutsema.

Modaalakna peamine eelis eraldi lehe ees on kiirus. Ei ole vaja oodata täielikku lehe laadimist koos selle päise, külgriba ja jaluseosaga. Sa laadid ainult the_content(), puhta sisu. See säästab nii kasutaja aega kui ka serveri ressursse.

WP Post Popup: miks veteranplugin lavalt lahkus

Näide modaalaknast WordPressi postituse sisuga

Kuni 2023. aastani oli üks populaarsemaid modaalakende lahendusi WordPressis WP Post Popup (wp-post-modal) plugin. See suutis muuta mis tahes postituse, lehe või kohandatud postitüübi hüpikaknaks; tuli vaid määrata URL koos parameetriga. Plugin töötas lühikoodide, Contact Form 7 ja BuddyPressiga; see suutis laadida väliseid lehti ja isegi valikuliselt kuvada kindlat div elementi teiselt saidilt.

  1. aasta oktoobris plugin suleti. Põhjuseks oli turvanõrkus. WordPress.org lehel on nüüd staatus „See plugin on suletud… Põhjus: turvaprobleem." Sellest ajast alates pole see allalaadimiseks saadaval ja aktiivsed installatsioonid on langenud nulli.

Kuid WP Post Popupi taga olevad ideed pole kuhugi kadunud. Sisu kuvamine hüpikaknas ilma lehe uuesti laadimiseta on ka täna lahendatav ja seda kahel viisil: kaasaegsed pluginad ja puhas kood.

3 Kaasaegset viisi modaalakna lisamiseks WordPressis

Siin on praegused võimalused 2026. aastaks, alates valmispluginatest kuni täielikult kohandatud lahenduseni.

Meetod

Keerukus

Paindlikkus

Hind

Popup Maker

Madal

Keskmine

Tasuta (põhiversioon)

Bootstrap 5 modaalaken

Keskmine

Kõrge

Tasuta

Puhas CSS + JavaScript (DIY)

Kõrge

Maksimaalne

Tasuta

Popup Maker on kõige populaarsem tasuta plugin hüpikakende jaoks: 700 000+ aktiivset installatsiooni ja hinne 4,9 WordPress.org-is. See loob mis tahes tüüpi hüpikakna, alates sisuga modaalakendest kuni sisselibisevate paneelide ja bänneriteni. Päästikute hulka kuuluvad klikk, taimer, kerimine või lahkumiskavatsus. Kui vajad kiiret koodivaba lahendust, on see parim lähtepunkt.

Bootstrap 5 on sisse ehitatud paljudesse kaasaegsetesse teemadesse. Selle loomulik Modal komponent töötab koheselt: responsiivsus, animatsioon, sulgumine Escape-klahviga ja aknast väljapoole klõpsates. Lihtsalt lisa Bootstrap oma teemasse ja kasuta valmis märgendust koos data-atribuutidega.

Puhas kood on tee neile, kes vajavad täielikku kontrolli akna iga piksli ja käitumise üle. Ei mingeid lisaskripte, sõltuvusi ega konflikte teiste pluginatega. See on meetod, mille me samm-sammult läbi käime.

Ülaltoodud video on praktiline õpetus kohandatud modaalakna loomiseks WordPressis nullist: 12 minutit puhast koodi, mille lõpus on valmis tulemus.

Samm-sammuline juhend: modaalakna ehitamine nullist

See meetod töötab igal WordPressi saidil, sõltumata teemast. Kirjutame CSS-raamistiku hüpikploki stiilimiseks, parandame tüüpilise JavaScripti vea ja lisame nutika eellaaduri, et sisu ilmuks sujuvalt, ilma vilkumiseta.

1. Samm: CSS-raamistik modaalaknale

Põhiline stiilimine saavutab kolm asja: see tsentreerib akna ekraanil, hämardab tausta ja kohandab tabeleid modaalploki sees. Siin on töötav kood sinu teema style.css faili või kohandaja vahekaardile „Additional CSS":

1/* Modal window — basic styles */
2.modal.show {
3 max-width: 650px;
4}
5
6.modal.show .kk-star-ratings.bottom-right.rgt {
7 display: none;
8}
9
10/* Tables inside the modal window */
11.modal.show table {
12 border-collapse: separate;
13 max-width: 100%;
14 overflow: auto;
15 table-layout: fixed;
16 border: none;
17 width: auto;
18}
19
20.modal.show table th {
21 background: #F8F0F8;
22 padding: 17px 10px;
23 vertical-align: middle;
24 color: #7F617E;
25 font-size: 12px;
26 text-align: left;
27}
28
29.modal.show table th:first-child {
30 border-radius: 5px 0 0 5px;
31}
32
33.modal.show table th:last-child {
34 border-radius: 0 5px 5px 0;
35}
36
37.modal.show table th.th-border {
38 border-left: 1px solid #ECE1EC;
39}
40
41.modal.show table td {
42 color: #424242;
43 font-size: 13px;
44 border-bottom: 1px dashed #E5E5E5;
45 padding: 10px 5px 5px 4px;
46 text-align: left;
47}
48
49.modal.show table tr:last-child td {
50 border-bottom: none;
51 padding-bottom: 20px;
52}
53
54.modal.show table td {
55 border-right: 1px solid #F7F7F7;
56}
57
58.modal.show table td:last-child {
59 border-right: none;
60}
61
62.modal.show table tr:first-child td {
63 padding-top: 20px;
64}

Võtmepunkt: .modal.show selektor tagab, et stiile rakendatakse ainult siis, kui modaalaken on aktiivne. Kokkupandud olekus ei mõjuta plokk lehe paigutust. Tabelid modaalploki sees saavad eraldi kohtlemise: ümarad nurgad päistel, kriipsutatud reajagajad ja responsiivne kerimine.

2. Samm: JavaScripti vead ja kuidas neid parandada

Püüdmata ReferenceError brauseri konsoolis

Kõige levinum probleem modaalakendega töötamisel WordPressis on Uncaught ReferenceError: wp is not defined viga. See ilmneb siis, kui plugin või kohandatud skript üritab kasutada wp objekti (WordPressi JavaScript API) enne, kui tuum on selle laadinud.

WP Post Popupi puhul oli probleem funktsioonis modalCustomizer(), mis tõmbas adminipoolelt seadeid wp.customize kaudu. Siin on, kuidas see plugina koodis välja nägi:

1// Window load
2$(window).on('load', function () {
3 modalCustomizer();
4});

Parandus on lihtne: kommenteeri välja kutse, kui stiilid akna enda CSS-i kaudu:

1// Window load
2$(window).on('load', function () {
3 // modalCustomizer();
4});

Üldreegel mis tahes modaalskriptide jaoks WordPressis: kontrolli alati sõltuvuste laadimisjärjekorda. Lisa oma skriptid wp_enqueue_script() abil, selgete sõltuvustega jquery ja wp-util suhtes. Ja ära kunagi lisa <script> otse postituse kehasse; see on kindel tee vigadeni nagu $ is not defined ja wp is not defined.

3. Samm: nutikas eellaadur jQuery'ga

Modaalakna seadete leht stiilivalikutega

Eellaaduri ülesanne on näidata laadimisindikaatorit, samal ajal kui postituse sisu laaditakse AJAX-i kaudu. Kui andmed on saabunud, hajub eellaadur sujuvalt. DOM-i muutuste jälgimiseks kasutame mikroteeki jquery-watch (25 koodirida, mis jälgivad elemendi atribuutide ja omaduste muutusi).

CSS eellaaduri jaoks: taustal olev gif-indikaator, tsentreeritud modaalplokis:

1/* Modal window preloader */
2.modal-wrapper.styled .modal {
3 min-height: 385px;
4 background-color: white;
5 background-size: inherit;
6}
7
8div#modal-content {
9 background-color: white;
10}
11
12.modal-wrapper.styled .modal {
13 background: white url(/wp-content/uploads/2018/02/dollar-glass.gif) center center no-repeat scroll;
14}
15
16#single-post-meta-manager {
17 opacity: 0;
18}
19
20div.modal-content-post-wrapped.load {
21 opacity: 1;
22}

Kuidas see töötab: algselt on sisu peidetud (opacity: 0) ja taustal olev eellaadur on nähtav. Kui andmed on laaditud, lisab jQuery .load klassi, sisu hajub sisse ja eellaadur kaob. Siin on JS kood:

1jQuery(document).ready(function($) {
2
3 // Smooth appearance of content in the modal window
4 $("div#single-post-meta-manager").animate({ 'opacity': '1' }).fadeIn('slow');
5
6 // Add class-informer "content loaded"
7 $("div.modal-content-post-wrapped").addClass("load");
8
9 // Track modal window changes via jquery-watch
10 $(".modal-wrapper").watch({
11 properties: "top,left,opacity,display,attr_class",
12 watchChildren: true,
13 callback: function (data, i) {
14 // Set preloader as background image
15 $('.modal-wrapper.styled .modal').css(
16 'background',
17 'white url(/wp-content/uploads/2018/02/dollar-glass.gif) center center no-repeat scroll'
18 );
19 // If content is loaded — remove preloader
20 if ($('.modal-content-post-wrapped').is('.load')) {
21 $('.modal.show').css('background', 'white');
22 }
23 }
24 });
25
26});

Oluline hoiatus. Ülaltoodud kood kasutab jQuery't ja jquery-watch pluginat. Enne selle lisamist veendu, et jQuery on järjekorda pandud ja laadib enne sinu skripti. Kaasaegsetel WordPressi saitidel tuleb jQuery tuumaga kaasa, seega pole täiendavaid kaasamisi vaja. Lisa skript wp_enqueue_script() kaudu failis functions.php, mitte otse postituse kehasse.

Mida teha, kui modaalaken ei lae

Üle 6 aasta WordPressi modaalidega töötades olen koostanud nimekirja tüüpilistest põhjustest, alates ilmsetest kuni varjatuteni. Siin on diagnostiline kontrollnimekiri:

  • jQuery ei ole laaditud või on konfliktis. Kontrolli brauseri konsooli (F12 → Console). Viga $ is not defined tähendab, et jQuery pole kas järjekorda pandud või sinu skript käivitus liiga vara. Lahendus: wp_enqueue_script('my-modal', ..., array('jquery')).
  • Lehe mall ei väljasta the_content(). Mõned kohandatud mallid nagu page-modal.php kasutavad the_content() asemel get_the_content(). Viimane ei rakenda filtreid, mistõttu lühikoodid ja vormindus katkevad.
  • Konflikt vahemälupluginatega. Kui laadid AJAX-sisu ja sait kasutab WP Rocketit või LiteSpeed Cache'i, keela vahemälu URL-ide jaoks, mida modaalaken hangib.
  • CORS-i viga välise lehe laadimisel. Brauser blokeerib päringud teisele domeenile. See lahendatakse puhverdamisega läbi WordPressi REST API või CORS-i päiste seadistamisega sihtserveris.
  • Murdepunkt. Mobiilseadmetes asendatakse modaalaken sageli otseviidaga, nii et kasutaja lihtsalt navigeerib lehele. Kontrolli @media reegleid oma CSS-is: alla 768px ei pruugi aken tahtlikult ilmuda.

⁉️🤔 Korduma kippuvad küsimused

Plugin või puhas kood: mida peaksin modaalakna jaoks valima?

Kui vajad valmislahendust 5 minutiga, paigalda Popup Maker. See katab enamiku tüüpilisi stsenaariume: tellimisvormid, kiired eelvaated, teavitused. Kui sul on ebastandardne disain, keeruline AJAX-loogika või jõudlusnõuded (mitte ühtegi lisakilobaiti), kirjuta see ise. Puhas kood annab täieliku kontrolli mitmetunnise arendustöö hinnaga. Popup Maker lisab lehele umbes 40-60 KB skripte ja stiile. Kohandatud lahendus mahub 2-5 KB sisse, erinevus on 10-30 korda. Suure külastatavusega saidi puhul on see märgatav.

Kas ma saan avada välist lehte hüpikaknas?

Jah, kuid piirangutega. WordPress ei puhverda vaikimisi kolmanda osapoole sisu. Kui sihtsait ei saada CORS-i päist Access-Control-Allow-Origin: *, blokeerib brauser AJAX-päringu. Lahenduseks on kirjutada oma serveripoolne puhver, kasutades wp_remote_get() või seadistada REST API lõpp-punkt, mis hangib sisu ja toimetab selle sinu esiotsa. Avalike API-de ja usaldusväärsete allikate puhul on CORS tavaliselt juba seadistatud. GitHubi API ja WordPress.org API on avatud lugemiseks mis tahes domeenilt.

Kuidas mõjutab modaalakende kasutamine SEO-d?

AJAX-i kaudu laaditud modaalakna sisu on otsingumootoritele vähem nähtav kui staatiline HTML spetsiaalsel lehel. Reegel on lihtne: kui sisu on oluline pingerea jaoks, peaks sellel olema oma kanooniline leht otsese URL-iga. Kasuta modaalakent täiendava sisenemispunktina, mitte lehe asendusena. Googlebot on JavaScripti käivitanud alates 2019. aastast, kuid dünaamiliselt laaditud sisu indekseerimine on endiselt ebastabiilne. Parem on olla ettevaatlik ja omada staatilist versiooni.

Miks WP Post Popup suleti ja mis võiks seda asendada?

wp-post-modal plugin suleti 2023. aasta oktoobris lahendamata turvanõrkuse tõttu. Kui see on endiselt sinu saidile installitud, eemalda see viivitamatult. Asendustena kaalu Popup Makerit (tasuta, universaalne) või selles artiklis kirjeldatud kohandatud lahendust. Mõlemad variandid on turvalised ja toetatud 2026. aastal.

Kas jQuery on WordPressi modaalakna jaoks vajalik?

Ei, see pole vajalik. Kaasaegne loomulik JavaScript (ES6+) katab kõik vajalikud toimingud: fetch() AJAX-i jaoks, classList CSS-klasside vahetamiseks ja addEventListener klikkide käsitlemiseks. Kuid jQuery on endiselt sügavalt integreeritud WordPressi tuuma ja enamikku teemadesse, seega on lihtsam kasutada seda, mis on juba laaditud, kui lisada veel üks raamistik.

Modaalaknad 2026. aastal: mida paigaldada ja kuidas ehitada

Kui oled selle jaotiseni jõudnud, on sul kolm valmis teed. Popup Maker on neile, kes vajavad „seadista ja unusta" lahendust. 700 tuhat aktiivset installatsiooni ei valeta: plugin on stabiilne, paindlik ja oma põhiversioonis tasuta. Bootstrap 5 Modal: kui sinu teema juba töötab Bootstrapil, kasuta loomulikku komponenti ja ära tekita lisasõltuvusi. Puhas kood on perfektsionistidele ja kõigile, kes soovivad kontrollida iga rida.

Isiklikult valin 2026. aastal teise või kolmanda tee. Modaalakende pluginad lahendavad probleemi siin ja praegu, kuid kohandatud kood lahendab selle igaveseks, ilma uuenduste, turvanõrkuste ja konfliktideta. Ja 2-5 KB 40-60 KB asemel lehe kohta on argument, mida on raske ignoreerida.

Proovi mõlemat lähenemist testi alamdomeenil ja võrdle. WordPress on püsinud 20 aastat just seetõttu, et pakub valikuvabadust, alates nullist koodist kuni valmispluginani minutiga.