Blog

Ajax i WordPress , 1. Deo – primena WordPress ajax svojstava

Ako želite da primenjujete AJAX pozive na vašoj WordPress instalaciji, ovo je jedan od osnovnih načina da to uradite, naravno, ne i jedini.
Kod na kojem ćemo raditi možete da unesete ili u okviru functions.php u vašoj temi ili još bolje u custom plugin-u.

Napomena: Uverite se da ukoliko imate child temu, ne ubacujete kod u functions.php parent teme, jer je sasvim verovatno da će prilikom update-a teme taj kod biti prepisan. Zato je možda bolja varijanta da kod na kojem budemo radili unesete u custom plugin.
Takodje, kako se kreiraju child teme i custom plugin nećemo obrađivati u ovom članku.

U okviru koda postaviću komentare sa objašnjenjima, koje možete da uklonite. Komentari su na srpskom jeziku, dok su nazivi funkcija, promenljivih, itd. na engleskom.

 

1. Dodaćemo akciju sa tagom ili wp_head ili wp_footer, kako bi pozvali našu funkciju koja će ubaciti inline javascript kod unutar <head> html taga ili u slučaju wp_footer taga na dnu stranice, pre nego što se ispiše </body> html tag.
Preporučujem više da se koristi wp_footer češće, zato što će manje usporiti učitavanje stranice, ali svakako možete primeniti bilo koju od ove dve akcije.

 

 

2. Dodajte sada funkciju koju ste imenovali u vašem pozivanju wp_footer akcije:

//preimenujte funkciju za vaše potrebe i standarde, imajte u vidu da ima jedinstveno im i da je isti naziv postavljen u okviru poziva wp_footer akcije koju smo postavili iznad

 

3. Dodaćemo 2 poziva za akcije, koji pozivaju funkcije za obradu podataka koje smo dobili pomoću ajax poziva. Jedan je namenjen za ulogovane korisnike, a drugi za anonimne/izlogovane korisnike. Ubacićemo vaš your_custom_ajax_action tag na odgovarajući način:

 

 

4. Ovo je osnovni primer php funkcije koja obradjuje podatke primljene preko AJAX zahteva. Vi možete da uradite unutar funkcije šta god želite sa podacima koje ste preuzeli i da izbacite kakve god rezultate želite. U ovom primeru funkcija preuzima ID posta iz podataka koje je dobila preko AJAX poziva i koristi ga kako bi kreirala instancu post objekta i izbacila kao rezultat u JSON formatu.

 

 

Ovo je ceo kod bez komentara:

 

 

Ovo su samo osnovni koraci za osnovnu upotrebu AJAX-a na WordPress core način.

U budućim člancima pokrićemo neke druge pristupe, kako bi mogli da odaberete koji pristup najviše odgovara vašim potrebama.

reference:

https://codex.wordpress.org/Function_Reference/wp_footer

https://codex.wordpress.org/WordPress_Nonces

https://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_nopriv_(action)

https://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_(action)

http://php.net/manual/en/function.json-encode.php

https://codex.wordpress.org/Function_Reference/admin_url

https://codex.wordpress.org/Function_Reference/add_action

 

About the author

nikolakirincic

5 Comments

Click here to post a comment

Leave a Reply

  • Lakse bi bilo koristiti wp_localize_script za ubacivanje vrednosti za ajaxurl i nonce polje:
    wp_localize_script( ‘jquery’, ‘php_vars’, array(‘nonce’ => wp_create_nonce( ‘nonce’ ),’ajax_url’ => admin_url( ‘admin-ajax.php’ )));
    time na frontu dobijas varijablu php_vars sa ove dve informacije. a sam wp se brine o outputu, ti samo izvrsis sunkciju:

    /* */

  • Da, slažem se, to je čistiji način, sa boljom kontrolom.
    Umesto funkcije your_callback_for_inline_javascript() i koda u njoj, može da se upotrebi wp_register_script i wp_localize_script i onda se promenljive iz objekta prosledjenih preko wp_localize_script u skripti koja je pozvana prethodno pomoću wp_register_script() koriste za dalju proceduru.
    Ovde sam naveo najjednostavniji pristup. Da ne bi dolazilo do zabune, mogu da prodjem to u sledećem članku, gde ću uputiti na varijaciju 🙂 .

    Da, komentari nisu baš dobar način, možda je bilo bolje da raščlanim kod na još delova i pojasnim kroz standardni tekst blok.

    Luka, hvala na sugestijama 🙂 korisne su.

    • Uvek ima zilion nacina na koji se nesto moze uraditi. ja sam do skoro generisao dummy tag sa podatcima. Sto opet radi posao…

@WPSerbia

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 98 other subscribers

%d bloggers like this: