{"id":225960,"date":"2022-08-16T13:20:00","date_gmt":"2022-08-16T10:20:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=225960"},"modified":"2022-11-09T02:11:36","modified_gmt":"2022-11-08T23:11:36","slug":"wordpress-silmukka-mikae-se-on-ja-mitae-sinun-on-tiedettaevae-siitae","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/wordpress-silmukka-mikae-se-on-ja-mitae-sinun-on-tiedettaevae-siitae\/","title":{"rendered":"WordPress-silmukka: mik\u00e4 se on ja mit\u00e4 sinun on tiedett\u00e4v\u00e4 siit\u00e4"},"content":{"rendered":"<p>Jos olet WordPress-teeman kehitt\u00e4j\u00e4, ohjelmoija tai vain yleinen harrastaja, joka haluaa oppia, mit\u00e4 WordPress-silmukka on, t\u00e4m\u00e4 artikkeli on sinua varten! Aloitetaan ilman pitki\u00e4 puheita perusasioista: Mik\u00e4 on silmukka?<\/p>\n<p>WordPress-silmukka on PHP-koodi, joka n\u00e4ytt\u00e4\u00e4 WordPress-viestit tai yksinkertaisesti sanottuna; sit\u00e4 k\u00e4ytet\u00e4\u00e4n eri teemoissa viestien n\u00e4ytt\u00e4miseen mill\u00e4 tahansa verkkosivulla. Sen lis\u00e4ksi, ett\u00e4 se toimii useimmilla n\u00e4kemill\u00e4si sivuilla, voit my\u00f6s muokata ja mukauttaa sit\u00e4 haluamallasi tavalla.<\/p>\n<p>N\u00e4it\u00e4 verkkosivustosilmukoita voidaan k\u00e4ytt\u00e4\u00e4 postausten luetteloimiseen kommenttien m\u00e4\u00e4r\u00e4n mukaan, kuvien sis\u00e4lt\u00e4vien viestien n\u00e4ytt\u00e4miseen ja niin edelleen.<\/p>\n<p>Kun katsot silmukkaa, n\u00e4et, ett\u00e4 jotkin toiminnot suoritetaan oletusarvoisesti viestien n\u00e4ytt\u00e4miseksi. Teemankehitt\u00e4j\u00e4t voivat k\u00e4ytt\u00e4\u00e4 n\u00e4it\u00e4 toimintoja ja mallitunnisteita mukauttaakseen, miten jokainen silmukan viesti n\u00e4ytet\u00e4\u00e4n.<\/p>\n<p>N\u00e4m\u00e4 mallitunnisteet toimivat vain WordPressin oletussilmukan sis\u00e4ll\u00e4, ja niit\u00e4 k\u00e4ytet\u00e4\u00e4n julkaisutietojen muotoiluun, j\u00e4rjest\u00e4miseen ja julkaisemiseen.<\/p>\n<p>WordPress-silmukka on ep\u00e4ilem\u00e4tt\u00e4 WordPress-koodin t\u00e4rkein osa, ja anna meid\u00e4n sukeltaa syv\u00e4lle verkkosivustosi silmukoihin.<\/p>\n<h3>WordPress-sivusilmukka aloittelijoille<\/h3>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-207555-61e8d679e5a30.jpg\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-207555-61e8d679e5a30.jpg\" alt=\"WordPress-silmukka: mik\u00e4 se on ja mit\u00e4 sinun on tiedett\u00e4v\u00e4 siit\u00e4\" ><\/a><\/p>\n<p>Kuten jo mainitsimme, post-silmukka on koodi, joka tulostaa kaiken tiedon, joka WordPressill\u00e4 on viestist\u00e4 tai viesteist\u00e4. Se kulkee taustalla jokaisen postauksen l\u00e4pi ja l\u00f6yt\u00e4\u00e4 tietokannan yksitellen, jolloin se voi toimittaa tiedot kaikista l\u00f6ydetyist\u00e4 viesteist\u00e4.<\/p>\n<p>T\u00e4ss\u00e4 on esimerkki siit\u00e4, kuinka WordPress-silmukka viestien l\u00e4pi toimii:<\/p>\n<ol>\n<li>aloitat silmukan,<\/li>\n<li>ryhty\u00e4 toimiin jokaisen l\u00f6ydetyn viestin tai sivun kanssa,<\/li>\n<li>sulje silmukka.<\/li>\n<\/ol>\n<p>N\u00e4m\u00e4 kolme vaihetta edustavat silmukan takana olevaa peruslogiikkaa. T\u00e4st\u00e4 eteenp\u00e4in voit olla luova ja suodattaa l\u00f6yt\u00e4mi\u00e4si viestej\u00e4 kyselyn avulla. Kysely kertoo silmukalle, mit\u00e4 etsimme. Esimerkiss\u00e4mme se n\u00e4ytt\u00e4isi t\u00e4lt\u00e4:<\/p>\n<ol>\n<li>m\u00e4\u00e4ritell\u00e4 mit\u00e4 etsimme,<\/li>\n<li>aloittaa silmukan,<\/li>\n<li>ryhty\u00e4 toimiin jokaisen l\u00f6ydetyn viestin tai sivun kanssa,<\/li>\n<li>sulje silmukka.<\/li>\n<\/ol>\n<p>Jos sinulla on kokemusta PHP-koodista, saatat tuntea &quot;while&quot;-funktion, jota k\u00e4ytet\u00e4\u00e4n silmukoissa tietokantakyselyn suorittamiseen ja tietojen dynaamiseen n\u00e4ytt\u00e4miseen ilman, ett\u00e4 sinun tarvitsee sy\u00f6tt\u00e4\u00e4 jokaista tietokannan rivi\u00e4 manuaalisesti.<\/p>\n<p>WordPress while -silmukka toimii samalla tavalla.<\/p>\n<h3>Esimerkki tavallisesta WordPress-silmukasta<\/h3>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-207555-61e8d67ad790d.jpg\" data-rel=\"lightbox\" ><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-207555-61e8d67ad790d.jpg\" alt=\"WordPress-silmukka: mik\u00e4 se on ja mit\u00e4 sinun on tiedett\u00e4v\u00e4 siit\u00e4\" ><\/a><\/p>\n<p>Alla on esimerkki tavallisesta WordPress-silmukasta, jota voidaan k\u00e4ytt\u00e4\u00e4 mill\u00e4 tahansa sivulla.<\/p>\n<p><code>&lt;?php if (have_posts() ): ?&gt; &lt;?php while (have_posts() ): the_post() ?&gt; \/\/ Post display here &lt;?php endwhile ?&gt; &lt;?php else: ?&gt; \/\/ Content if there are no posts to show &lt;?php endif ?&gt;<\/code><\/p>\n<p>Tutustu have_posts()- ja the_post()-funktioihin. Ensimm\u00e4inen m\u00e4\u00e4ritt\u00e4\u00e4, onko n\u00e4ytett\u00e4vi\u00e4 viestej\u00e4, ja toinen m\u00e4\u00e4ritt\u00e4\u00e4 tiedot ja sis\u00e4iset pisteet, jotka auttavat have_posts()-toimintoa.<\/p>\n<p>Jos mit\u00e4\u00e4n n\u00e4ytett\u00e4v\u00e4\u00e4 ei ole, toiminnon pit\u00e4isi n\u00e4ytt\u00e4\u00e4 k\u00e4ytt\u00e4jille ilmoittava viesti.<\/p>\n<p>Jos etsim\u00e4mme viestit ovat olemassa, silmukka n\u00e4ytt\u00e4\u00e4 ne yksitellen.<\/p>\n<p>T\u00e4ss\u00e4 on koodilohko, joka todella n\u00e4ytt\u00e4\u00e4 viestit, se on meid\u00e4n!<\/p>\n<p>`&lt;?php if (have_posts() ): ?&gt;<br \/>\n&lt;?php while (have_posts() ): the_post() ?&gt;<br \/>\n&lt;div &lt;?php post_class() ?&gt;&gt;<\/p>\n<h2>&lt;a href=&#8221;&gt;<\/h2>\n<p>&lt;div class=&#8217;post-excerpt&#8217;&gt;<br \/>\n&lt;?php the_excerpt() ?&gt;<\/p>\n<p>&lt;div class=&#8217;post-meta&#8217;&gt;<br \/>\n&lt;?php the_time( &#8217;Ym-d&#8217;) ?&gt;<br \/>\n&lt;?php if (has_category() ): ?&gt;<br \/>\n&lt;span class=&#8217;post-categories&#8217;&gt;&lt;?php the_category( &#8217;, &#8217;) ?&gt;<br \/>\n&lt;?php endif ?&gt;<\/p>\n<p>&lt;?php endwhile ?&gt;<br \/>\n&lt;?php else: ?&gt;<\/p>\n<h2>T\u00e4\u00e4ll\u00e4 ei ole viestej\u00e4<\/h2>\n<p>Haluatko palata &lt;a href=&#8221;&gt;etusivulle?<br \/>\n`<\/p>\n<p>T\u00e4ss\u00e4 n\u00e4kyv\u00e4 sis\u00e4lt\u00f6 m\u00e4\u00e4r\u00e4ytyy kyselyn mukaan, josta olemme jo puhuneet, ja sis\u00e4ll\u00f6n n\u00e4ytt\u00e4minen riippuu silmukasta. T\u00e4m\u00e4 r\u00e4\u00e4t\u00e4l\u00f6innin m\u00e4\u00e4r\u00e4 on mahtavaa, ja se tekee WordPressist\u00e4 erottuvan.<\/p>\n<p>Hyv\u00e4\u00e4 ty\u00f6t\u00e4! Nyt tied\u00e4t mik\u00e4 on postisilmukka!<\/p>\n<p>### Koodin k\u00e4ytt\u00e4minen p\u00e4\u00e4kyselyn muuttamiseen<\/p>\n<p>!<a href=\"https:\/\/wpdatatables.com\/wp-content\/uploads\/2018\/04\/wploop-2.jpg\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external\"><\/a><\/p>\n<p>Ennen kuin aloitamme, meid\u00e4n on varoitettava, ett\u00e4 p\u00e4\u00e4kyselyn muuttamisella voi olla tahattomia seurauksia, jos et tied\u00e4 mit\u00e4 olet tekem\u00e4ss\u00e4. Ole varovainen kokeilessasi!<\/p>\n<p>Meid\u00e4n on tarkasteltava koukkuja, jos haluamme muokata ydintoimintoja. Koukkujen avulla voimme muuttaa tekstin pituutta, kirjautumisn\u00e4ytt\u00f6\u00e4, ilmaista virheilmoitukset uudelleen, muuttaa mukautettuja viestityyppej\u00e4 ja paljon muuta.<\/p>\n<p><code>add_action('pre_get_posts', 'my_exclude_category' ); function my_exclude_category( $kysely) { if ($kysely-&gt;on_koti() &amp;&amp; $kysely-&gt;on_p\u00e4\u00e4kysely()) { $kysely-&gt;set( 'kissa', '-92' ); } }<\/code><\/p>\n<p>Huomaa, ett\u00e4 k\u00e4yt\u00e4mme pre_get_post koukkua p\u00e4\u00e4kyselyn parametrin muokkaamiseen ennen sen suorittamista. Yll\u00e4 oleva koodi tekee saman kuin edellinen, mutta t\u00e4ll\u00e4 kertaa se sulkee pois luokan 92 kotisivultamme. T\u00e4st\u00e4 syyst\u00e4 p\u00e4\u00e4kysely\u00e4 muutetaan<\/p>\n<p>Tutustu is_home()- ja is_main_query()-funktioihin. He ovat t\u00e4\u00e4ll\u00e4 varmistaakseen, ett\u00e4 kysely\u00e4 muokataan vain kotisivulla ja jos se on p\u00e4\u00e4kysely.<\/p>\n<p>T\u00e4ss\u00e4 on toinen koodi, joka voi olla hy\u00f6dyllinen WordPress-blogisilmukassa.<\/p>\n<p>Oletetaan, ett\u00e4 verkkosivustosi kirjoittaja on plagioinut osan (tai kaiken) sis\u00e4ll\u00f6st\u00e4\u00e4n ja haluat poistaa kaikki h\u00e4nen viestins\u00e4 pysyv\u00e4sti tai kunnes ongelma on ratkaistu.<\/p>\n<p>T\u00e4m\u00e4 voidaan tehd\u00e4 lis\u00e4\u00e4m\u00e4ll\u00e4 seuraavanlainen koodi:<\/p>\n<p><code>add_action( 'pre_get_posts', 'my_exclude_author' ); function my_exclude_author( $query) { $query-&gt;set( 'author', '-23' ); }<\/code><\/p>\n<p>T\u00e4m\u00e4n ehdollisen toiminnon avulla poistat kirjoittajan viestin sek\u00e4 verkkosivustoltasi ett\u00e4 taustaj\u00e4rjestelm\u00e4st\u00e4si. L\u00f6yd\u00e4t kaikki ehdolliset tagit WordPress Codexista. T\u00e4lt\u00e4 viimeisen koodin pit\u00e4isi n\u00e4ytt\u00e4\u00e4 lopussa:<\/p>\n<p><code>add_action( 'pre_get_posts', 'my_exclude_author' ); function my_exclude_author( $kysely) { if( !is_admin()) { $query-&gt;set( 'author', '-23' ); } }<\/code><\/p>\n<p>### WordPress-silmukan ajatusten lopettaminen<\/p>\n<p>WordPress-silmukan k\u00e4ytt\u00e4minen on loistava tapa muokata viestej\u00e4si, sivujasi tai yksinkertaisesti sanottuna verkkosivustoasi. Silmukka edellytt\u00e4\u00e4, ett\u00e4 sinulla on perustiedot WordPressin toiminnasta ja koodilogiikasta.<\/p>\n<p>Ellet halua tehd\u00e4 pikatesti\u00e4, emme suosittele query_posts()-funktion k\u00e4ytt\u00f6\u00e4. Voit k\u00e4ytt\u00e4\u00e4 erilaisia \u200b\u200bkoukkuja, jos sinun on muutettava alkuper\u00e4ist\u00e4 kysely\u00e4. Ole aina varovainen, kun muutat WordPress-silmukkakoodia.<\/p>\n<p>Toivomme, ett\u00e4 t\u00e4m\u00e4 artikkeli oli hyv\u00e4 ensimm\u00e4inen askel kohti WordPress-silmukan hallintaasi!<\/p>\n<p>Jos pidit t\u00e4st\u00e4 artikkelista WordPress-silmukasta, sinun tulee lukea my\u00f6s n\u00e4m\u00e4:<\/p>\n<p>\u2013 <a href=\"https:\/\/wordpress.mediadoma.com\/fi\/504-virhe-wordpressissae-kuinka-korjata-se\/\" title=\"504-virhe WordPressiss\u00e4: Kuinka korjata se\">504-virhe WordPressiss\u00e4: Kuinka korjata se<\/a><br \/>\n\u2013 <a href=\"https:\/\/wpdatatables.com\/tips-creating-succesful-wordpress-premium-plugin-theme\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">12 vinkki\u00e4 onnistuneen WordPress Premium -laajennuksen luomiseen tai Teema<\/a><br \/>\n\u2013 <a href=\"https:\/\/wordpress.mediadoma.com\/fi\/kuinka-hyoedyntaeae-selaimen-vaelimuistia-wordpressissae\/\" title=\"Kuinka hy\u00f6dynt\u00e4\u00e4 selaimen v\u00e4limuistia WordPressiss\u00e4? Seurattavat vaiheet\">Kuinka hy\u00f6dynt\u00e4\u00e4 selaimen v\u00e4limuistia WordPressiss\u00e4? Seurattavat vaiheet<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/wpdatatables.com\" class=\"external external_icon\">wpdatatables.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jos olet WordPress-teeman kehitt\u00e4j\u00e4, ohjelmoija tai vain yleinen harrastaja, joka haluaa oppia, mit\u00e4 WordPress-silmukka on, t\u00e4m\u00e4 artikkeli on sinua varten!<\/p>\n","protected":false},"author":1,"featured_media":207556,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[803,864],"tags":[1166],"class_list":["post-225960","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-5","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/225960","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=225960"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/225960\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/207556"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=225960"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=225960"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=225960"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}