{"id":225859,"date":"2022-08-16T13:18:00","date_gmt":"2022-08-16T10:18:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=225859"},"modified":"2022-11-08T19:37:22","modified_gmt":"2022-11-08T16:37:22","slug":"wordpress-loop-vad-det-aer-och-vad-du-behoever-veta-om-det","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/wordpress-loop-vad-det-aer-och-vad-du-behoever-veta-om-det\/","title":{"rendered":"WordPress loop: Vad det \u00e4r och vad du beh\u00f6ver veta om det"},"content":{"rendered":"<p>Om du \u00e4r en WordPress-temautvecklare, en programmerare eller bara en allm\u00e4n entusiast som vill l\u00e4ra dig vad en WordPress-loop \u00e4r, \u00e4r den h\u00e4r artikeln f\u00f6r dig! Utan vidare, l\u00e5t oss b\u00f6rja med grunderna: Vad \u00e4r en loop?<\/p>\n<p>WordPress-slingan \u00e4r en PHP-kod som visar WordPress-inl\u00e4gg eller helt enkelt; det anv\u00e4nds i olika teman f\u00f6r att visa inl\u00e4gg p\u00e5 en given webbsida. Inte bara att det k\u00f6rs p\u00e5 de flesta sidor du ser, utan det l\u00e5ter dig ocks\u00e5 \u00e4ndra och anpassa det efter dina \u00f6nskem\u00e5l.<\/p>\n<p>Dessa webbslingor kan anv\u00e4ndas f\u00f6r att kanske lista inl\u00e4gg efter antal kommentarer, visa inl\u00e4gg med bilder och s\u00e5 vidare.<\/p>\n<p>N\u00e4r du tittar p\u00e5 loopen kan du se att vissa funktioner k\u00f6rs som standard f\u00f6r att visa inl\u00e4gg. Temautvecklare kan anv\u00e4nda dessa funktioner och malltaggar f\u00f6r att anpassa hur varje inl\u00e4gg i slingan visas.<\/p>\n<p>Dessa malltaggar fungerar bara i WordPress-standardslingan, och den anv\u00e4nds f\u00f6r att formatera, ordna och publicera inl\u00e4ggsdata.<\/p>\n<p>WordPress loop \u00e4r utan tvekan den mest avg\u00f6rande delen av WordPress-koden, och l\u00e5t oss dyka djupt in i hur din webbplats loopar.<\/p>\n<h3>WordPress sidslinga f\u00f6r nyb\u00f6rjare<\/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 loop: Vad det \u00e4r och vad du beh\u00f6ver veta om det\" ><\/a><\/p>\n<p>Som vi redan n\u00e4mnt \u00e4r postloopen en kod som matar ut all information WordPress har om ett eller flera inl\u00e4gg. Den k\u00f6rs i bakgrunden genom varje inl\u00e4gg, och den hittar databasen en efter en, vilket g\u00f6r att den kan ge information om alla hittade inl\u00e4gg.<\/p>\n<p>H\u00e4r \u00e4r ett exempel p\u00e5 hur WordPress loop-through-inl\u00e4gg fungerar:<\/p>\n<ol>\n<li>du startar loopen,<\/li>\n<li>vidta \u00e5tg\u00e4rder med varje hittat inl\u00e4gg eller sida,<\/li>\n<li>st\u00e4ng slingan.<\/li>\n<\/ol>\n<p>Dessa tre steg representerar den grundl\u00e4ggande logiken bakom slingan. Fr\u00e5n denna punkt kan du bli kreativ och filtrera inl\u00e4ggen du hittade genom att anv\u00e4nda fr\u00e5gan. Fr\u00e5gan ber\u00e4ttar f\u00f6r slingan vad vi letar efter. I v\u00e5rt exempel skulle det se ut s\u00e5 h\u00e4r:<\/p>\n<ol>\n<li>definiera vad vi letar efter,<\/li>\n<li>starta slingan,<\/li>\n<li>vidta \u00e5tg\u00e4rder med varje hittat inl\u00e4gg eller sida,<\/li>\n<li>st\u00e4ng slingan.<\/li>\n<\/ol>\n<p>Om du har erfarenhet av PHP-kod kanske du \u00e4r bekant med &quot;while&quot;-funktionen som anv\u00e4nds i loopar f\u00f6r att k\u00f6ra igenom databasfr\u00e5gan och dynamiskt visa informationen utan att beh\u00f6va ange varje enskild databasrad manuellt.<\/p>\n<p>WordPress while loop fungerar p\u00e5 samma s\u00e4tt.<\/p>\n<h3>Exempel p\u00e5 en vanlig WordPress-loop<\/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 loop: Vad det \u00e4r och vad du beh\u00f6ver veta om det\" ><\/a><\/p>\n<p>Nedan \u00e4r ett exempel p\u00e5 en vanlig WordPress-loop som kan anv\u00e4ndas p\u00e5 vilken sida som helst.<\/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>Ta en titt p\u00e5 funktionerna have_posts() och the_post(). Den f\u00f6rsta avg\u00f6r om det finns n\u00e5gra inl\u00e4gg att visa, och den andra st\u00e4ller in data och interna punkter som hj\u00e4lper have_posts()-funktionen.<\/p>\n<p>Om det inte finns n\u00e5got att visa, b\u00f6r funktionen visa ett meddelande som informerar anv\u00e4ndarna.<\/p>\n<p>Om det finns inl\u00e4ggen vi letar efter kommer slingan att visa dem en efter en.<\/p>\n<p>H\u00e4r, ha ett kodblock som faktiskt kommer att visa inl\u00e4gg, det \u00e4r p\u00e5 oss!<\/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>Det finns inga inl\u00e4gg h\u00e4r<\/h2>\n<p>Vill du g\u00e5 tillbaka till &lt;a href=&#8221;&gt;hemsidan?<br \/>\n`<\/p>\n<p>Inneh\u00e5llet som visas h\u00e4r best\u00e4ms av fr\u00e5gan som vi redan pratat om, och hur det inneh\u00e5llet visas beror p\u00e5 slingan. Denna m\u00e4ngd anpassning \u00e4r fantastisk och det \u00e4r det som g\u00f6r att WordPress sticker ut.<\/p>\n<p>Bra jobbat! Nu vet du vad en postloop \u00e4r!<\/p>\n<p>### Anv\u00e4nder kod f\u00f6r att \u00e4ndra huvudfr\u00e5gan<\/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>Innan vi b\u00f6rjar m\u00e5ste vi varna dig f\u00f6r att \u00e4ndring av huvudfr\u00e5gan kan f\u00e5 oavsiktliga konsekvenser om du inte vet vad du g\u00f6r. Var f\u00f6rsiktig n\u00e4r du experimenterar!<\/p>\n<p>Vi m\u00e5ste titta p\u00e5 krokarna om vi vill modifiera k\u00e4rnfunktionalitet. Krokarna g\u00f6r det m\u00f6jligt f\u00f6r oss att \u00e4ndra textl\u00e4ngd, \u00e4ndra inloggningssk\u00e4rmen, omformulera felmeddelanden, \u00e4ndra anpassade inl\u00e4ggstyper och s\u00e5 mycket mer.<\/p>\n<p><code>add_action( 'pre_get_posts', 'my_exclude_category' ); function my_exclude_category( $query) { if ($query-&gt;is_home() &amp;&amp; $query-&gt;is_main_query()) { $query-&gt;set( 'cat', '-92'); } }<\/code><\/p>\n<p>Observera att vi anv\u00e4nder pre_get_post-kroken f\u00f6r att \u00e4ndra parametern f\u00f6r huvudfr\u00e5gan innan den k\u00f6rs. Koden ovan g\u00f6r samma sak som den tidigare, men den h\u00e4r g\u00e5ngen utesluter den kategori 92 fr\u00e5n v\u00e5r hemsida. D\u00e4rf\u00f6r \u00e4ndras huvudfr\u00e5gan<\/p>\n<p>Ta en titt p\u00e5 funktionerna is_home() och is_main_query(). De \u00e4r h\u00e4r f\u00f6r att se till att fr\u00e5gan endast \u00e4ndras p\u00e5 startsidan och om det \u00e4r huvudfr\u00e5gan.<\/p>\n<p>H\u00e4r \u00e4r en annan kod som kan vara anv\u00e4ndbar i en WordPress-bloggslinga.<\/p>\n<p>L\u00e5t oss s\u00e4ga att en f\u00f6rfattare p\u00e5 din webbplats har plagierat en del (eller allt) sitt inneh\u00e5ll och du vill ta bort alla hans eller hennes inl\u00e4gg permanent, eller tills problemet \u00e4r l\u00f6st.<\/p>\n<p>Det kan g\u00f6ras genom att l\u00e4gga till en kod s\u00e5 h\u00e4r:<\/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>Med denna villkorsfunktion tar du bort f\u00f6rfattarens inl\u00e4gg fr\u00e5n b\u00e5de din webbplats och din backend. Du kan hitta alla villkorliga taggar i WordPress Codex. S\u00e5 h\u00e4r ska den sista koden se ut till slut:<\/p>\n<p><code>add_action( 'pre_get_posts', 'my_exclude_author' ); function my_exclude_author( $query) { if( !is_admin()) { $query-&gt;set( 'author', '-23' ); } }<\/code><\/p>\n<p>### Avslutande tankar om WordPress loop<\/p>\n<p>Att anv\u00e4nda WordPress loop \u00e4r ett utm\u00e4rkt s\u00e4tt att anpassa dina inl\u00e4gg, sidor eller helt enkelt \u2013 din webbplats. Slingan kr\u00e4ver att du har en grundl\u00e4ggande f\u00f6rst\u00e5else f\u00f6r hur WordPress fungerar och kodlogik.<\/p>\n<p>Om du inte vill g\u00f6ra ett snabbtest rekommenderar vi inte att du anv\u00e4nder query_posts()-funktionen. Du kan anv\u00e4nda olika krokar om du beh\u00f6ver \u00e4ndra den ursprungliga fr\u00e5gan. Var alltid f\u00f6rsiktig n\u00e4r du \u00e4ndrar WordPress loop-koden.<\/p>\n<p>Vi hoppas att den h\u00e4r artikeln var ett bra f\u00f6rsta steg mot din beh\u00e4rskning av WordPress loop!<\/p>\n<p>Om du gillade den h\u00e4r artikeln om WordPress loop b\u00f6r du ocks\u00e5 l\u00e4sa dessa:<\/p>\n<p>\u2013 <a href=\"https:\/\/wordpress.mediadoma.com\/sv\/504-fel-i-wordpress-hur-man-fixar-det\/\" title=\"504-fel i WordPress: Hur man fixar det\">504-fel i WordPress: Hur man fixar det<\/a><br \/>\n\u2013 <a href=\"https:\/\/wordpress.mediadoma.com\/sv\/12-tips-foer-att-skapa-ett-framgaangsrikt-wordpress-tema-eller-plugin\/\" title=\"12 tips f\u00f6r att skapa en framg\u00e5ngsrik WordPress Premium Plugin eller Tema\">12 tips f\u00f6r att skapa en framg\u00e5ngsrik WordPress Premium Plugin eller Tema<\/a><br \/>\n\u2013 <a href=\"https:\/\/wordpress.mediadoma.com\/sv\/hur-man-utnyttjar-webblaesarcache-i-wordpress\/\" title=\"Hur utnyttjar man webbl\u00e4sarcache i WordPress? Steg att f\u00f6lja\">Hur utnyttjar man webbl\u00e4sarcache i WordPress? Steg att f\u00f6lja<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/wpdatatables.com\" class=\"external external_icon\">wpdatatables.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Om du \u00e4r en WordPress-temautvecklare, en programmerare eller bara en allm\u00e4n entusiast som vill l\u00e4ra dig vad en WordPress-loop \u00e4r, \u00e4r den h\u00e4r artikeln f\u00f6r dig!<\/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":[807,868],"tags":[1173],"class_list":["post-225859","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-9","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/225859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=225859"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/225859\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/207556"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=225859"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=225859"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=225859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}