Support » Kokeneille käyttäjille » Code Snippets ja prioriteetti

  • Mitenkähän näiden prioriteettien kanssa olisi järkevää menetellä?
    Code Snippet ikävä puoli, että se ei ota koodin tarkistuksessa huomioon prioriteettiä.
    Sivusto kaatui, kun käytin toisessa Code Snippet -tietueessa toisessa tietueessa käytettyä funktiota.

    Kun laitoin tiedostoon, jossa funktiota ei oltu määritelty priority 11, sivusto toimi taas.

    Jos priority on 0 se luetaan ensiksi – mutta käytännössä missähän vaiheessa suhteessa teeman ydintiedostoihin?

    Jos viitataan CSS-tiedostoon, pienemmän prioriteetin omaava tulee luettua kaiketi ensin vaikka se tietuelistauksessa olisikin melko perällä?

    Laitoin asiasta myös lisäosan foorumiin: https://wordpress.org/support/topic/code-snippet-and-missing-priority-check/

    Laitoin tietueen, jossa määrittelin funktion tap_is_mobile() prioriteetin 0.
    Kokeilin sitä header.php-tiedostossa. Sivusto ei kaatunut.

    Minulla on sivun header-osiossa nyt myös wp_body_open();
    Sen kautta olen toteuttanut mm. vaihtoehtoisen valikon kutsun.
    Mobile-tunnnistus on tämä:

    function tap_is_mobile(){
    global $_SERVER;
    $Firefox=strpos($_SERVER[’HTTP_USER_AGENT’], ’Firefox’);
    $Tablet=strpos($_SERVER[’HTTP_USER_AGENT’], ’Tablet’);
    $Android=strpos($_SERVER[’HTTP_USER_AGENT’], ’Android’);
    $Chrome=strpos($_SERVER[’HTTP_USER_AGENT’], ’Chrome’);
    $iPad=strpos($_SERVER[’HTTP_USER_AGENT’], ’iPad’);
    $iPhone=strpos($_SERVER[’HTTP_USER_AGENT’], ’iPhone’);
    $mobile=($Chrome && $Android) || ($Firefox &&($Android || $Tablet)) || $iPad || $iPhone;
    return $mobile;}

    Mielestäni kattaa sivustollani vierailijat. Tuo ehto poistaa käytöstä normaalin valikon ja korvaa sen toisella. Leveällä näytöllä pudotusvalikko korvaantuu avattavalla rullattavalla valikolla. Kapealla näytöllä ero on vain siinä, että avaus on kiinteä ja valikko on avattavissa koska tahansa. Alkuperäisen kohdalla piti palauttaa aina sivun alkuun.

    • Tätä aihetta muokkasi 4 vuotta, 9 kuukautta sitten tapiohuuhaa.
Esillä 4 vastausta, 1 - 4 (kaikkiaan 4)
  • Samaan hookkiin laitetut actionit ja filterit käydään läpi prioriteettijärjestyksessä nollasta ylöspäin. Oletusprioriteetti, jos muuta ei ole määritelty, on 10. Jos jotakin on oletuksena laitettu hookkiin kiinni, se on todennäköisesti prioriteetilla 10, mutta voi olla, että prioriteetti on joku muukin; se selviää vain tarkastamalla itse koodista.

    Se, miten joku hookki suhteutuu vaikkapa CSS-tiedoston lataamiseen, riippuu taas sen hookin sijainnista koodissa. Siinä auttaa esimerkiksi Action reference -lista, jossa kerrotaan enin osa WordPressin sivunlatauksen aikana ajamista hookeista siinä järjestyksessä, missä ne tapahtuvat.

    Thread Starter tapiohuuhaa

    (@tapiohuuhaa)

    CSS on aina lisätty add_action( ’wp_head’…. . Sitä on useammassa Code Snippet palikassa johtuen ennen kaikkea siitä, että mobiiliin ja tietokoneelle on osittain eri CSS. Osassa on sama prioriteetti – mikähän silloin ratkaisee järjestyksen? Tosin laadin poikkeamat niin, että asialla ei pitäisi olla merkitystä.

    Sivujen kaatumisen toi vain tap_is_mobile(), josta Code Snippet ei varoittanut. Laitoin varmuuden vuoksi tietueeseen, jossa tuo on, prioriteetin 0. Siinä on suurin osa shortcode-koodeistakin (jokunen shortcode on sivun ylä- ja alaosan lisäysten yhteydessä, koska niissä käytetään samoja funktioita kuin eräissä sivun yläosan tai alosan koodeissa).

    Sivujen kaatumisriski Code Snippet -lisäosan prioriteettiongelman takia olisi hyvä saada yleisesti tietoon.

    Jos on sama prioriteetti, niin silloin järjestys on mielivaltainen, käytännössä kai lisäämisjärjestys.

    Kyllähän tuollainen mitä tahansa koodia ajava lisäri pystyy saitin kaatamaan, jos koodissa on virhe, niinkuin ilmeisesti tässä on ollut, kun on käytetty määrittelemätöntä funktiota – se ei varsinaisesti ole Code Snippetin syytä.

    Thread Starter tapiohuuhaa

    (@tapiohuuhaa)

    Viimeksi sivun kaataneessa koodissa ei ollut varsinaista virhettä vaan ainoastaan prioriteettiongelma. Täytyy jatkossa kiinnittää niihin huomiota. Siinä yhteydessä oli itse määrittämäni funktio.

    CSS:n suhteen käytän yleensä määrittelemätöntä funktiota.

    Joskus kyllä sivusto kaatui kokonaan, kuin tuli virhe tauskäyttöliittymää koskevaan koodiin. Uusimmassa versiossa kaiketi safe-mode voisi pelastaa.

    • Tätä vastausta muokkasi 4 vuotta, 8 kuukautta sitten tapiohuuhaa.
Esillä 4 vastausta, 1 - 4 (kaikkiaan 4)
  • The topic ‘Code Snippets ja prioriteetti’ is closed to new replies.