Support » Lisäosat ja muokkaukset » JavaScriptin lisäys sivuille tarkemmin ottaen lomakkeelle

  • Moi

    Eipä tämä ole sen helpommin omaksuttavissa kuin Drupalikaan.
    Itseasiassa vaikuttaa huomattavasti vaikeammalta saada lisättyä skriptiä yhdelle sivulle/lomakkeelle ”The WordPress way”.

    Käsitykseni mukaan luodaan funktio, joka kutsuu sisällään wp_enqueue_script(...) ja jota kutsutaan add_action('','');

    Tuolla wp_enquqe… voidaan hanskata mm. skriptien päällekkäisyydet ja riippuvuudet. Mutta ei, sillä ei saa edes lisättyä WP:n ytimen mukana tulevia skriptejä kuten jquery, jquery-ui jne. puhumattakaan omista.

    Onko tälle koodille siis joku WP-yhteisön salaama paikka, mihin se pitää lisätä? Ainakaan oman plugarin avulla se ei siis onnistu enkä löytänyt netistä esim. wp_enquque_script tai ..scripts funkkareiden dokumentaatioista mitään viitteitä (sieltähän ne rajoitukset tulisi löytyä, jos jostain).

Esillä 5 vastausta, 1 - 5 (kaikkiaan 5)
  • Moderator Mikko Saari

    (@msaari)

    Juurikin näin, ja se funktio pitää lisätä wp_enqueue_scripts-koukkuun. Tässä se on varsin tyhjentävästi esitetty: https://codex.wordpress.org/Plugin_API/Action_Reference/wp_enqueue_scripts

    Noita ytimen mukana tulevia skriptejä ei tarvitse lisäillä, koska ne on ainakin enimmäkseen jo valmiiksi mukana, esim. jqueryä ei tarvitse itse lisätä vaan se on aina automaattisesti käytössä jos sitä ei ota itse pois.

    Koodin voi laittaa mihin tahansa, missä se tulee ajetuksi, oma plugini ja teeman functions.php lienevät ne tavanomaisimmat paikat.

    Thread Starter lifespan

    (@lifespan)

    No nyt tämäkin selvisi. Ei vastannut kyllä ensimmäisenkään tutoriaalin sisältöä.

    Ehkä tässä oli kuitenkin puutteita WP-rajapinnan suhteen, mutta puolustuksena sanottaakoon, ettei noissa tutoriaaleissakaan mitään puhuttu asiasta.

    Ja toisekseen, kun kutsutaan add_action() avulla jotain funktiota, niin en osannut olettaa, että ko. funktio tulisi noudattaa jotain nimeämisstandardia.

    Tässä tapauksesssa siis plugarin funktion tuli noudattaa tuota wp-koukun nimeämistä vaikka jokaisessa esimerkissä, mitä luin käytettin ihan räätälöityjä nimiä. Outoa.

    Thread Starter lifespan

    (@lifespan)

    Noh, selvisihän se laajennettujen kenttien mysteeri – ja vieläpä aika helpolla:

    $userObj = pods('user');
    $userObj->api->pod_data['fields']);

    Tuosta saa jo askartelemalla jotain aikaiseksi.

    Moderator Mikko Saari

    (@msaari)

    Ei siinä add_action():ssa mitään nimeämisrajoituksia ole. Sen oman funktion nimi saa olla ihan mitä tahansa. Sen toimintokoukun nimi pitää tietysti olla ihan prikulleen oikein, muuten ei toimi.

    Thread Starter lifespan

    (@lifespan)

    Pitääpä ottaa hieman takaisin.

    Olinkin vaihtanut samassa yhteydessä sen varsinainen koukun eli tässä tapauksessa rekisteröitymislomakkeelle saatiin tarvittavat skriptit käyttämällä add_action('login_enqueue_scripts','lisaosan_funkkari').

    Ja tässäkin kerkesin kokeilemaan register/registration_ nimellä, mutta dokumentaatiosta selvisi, että login palvelee sekä kirjautumis- että rekisteröitymislomakkeita…

Esillä 5 vastausta, 1 - 5 (kaikkiaan 5)
  • The topic ‘JavaScriptin lisäys sivuille tarkemmin ottaen lomakkeelle’ is closed to new replies.