{"id":15683,"date":"2026-05-11T17:34:12","date_gmt":"2026-05-11T14:34:12","guid":{"rendered":"https:\/\/www.ihs.com.tr\/blog\/?p=15683"},"modified":"2026-05-11T17:34:12","modified_gmt":"2026-05-11T14:34:12","slug":"wordpress-loop-dongu-nedir","status":"publish","type":"post","link":"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/","title":{"rendered":"WordPress Loop (D\u00f6ng\u00fc) Nedir? Tema Geli\u015ftirme S\u00fcrecinde Neden Hayatidir?"},"content":{"rendered":"<p>WordPress tabanl\u0131 bir web sitesinin temelini anlamak, onu bir araya getiren par\u00e7alar\u0131 ve bu par\u00e7alar\u0131n nas\u0131l uyum i\u00e7inde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 bilmekten ge\u00e7er. Bu yap\u0131n\u0131n merkezinde, i\u00e7eriklerin veritaban\u0131ndan \u00e7ekilip ziyaret\u00e7iye sunulmas\u0131n\u0131 sa\u011flayan hayati bir mekanizma bulunur: WordPress D\u00f6ng\u00fcs\u00fc veya bilinen ad\u0131yla &#8220;The Loop&#8221;. Tema geli\u015ftiricileri i\u00e7in birincil ara\u00e7 olan bu d\u00f6ng\u00fc, WordPress&#8217;i statik bir HTML sayfa koleksiyonundan, ya\u015fayan, nefes alan ve dinamik bir i\u00e7erik y\u00f6netim sistemine d\u00f6n\u00fc\u015ft\u00fcren motordur. D\u00f6ng\u00fcn\u00fcn mant\u0131\u011f\u0131n\u0131, yap\u0131s\u0131n\u0131 ve esnekli\u011fini kavramak, sadece bir tema olu\u015fturman\u0131n de\u011fil, ayn\u0131 zamanda WordPress&#8217;in t\u00fcm potansiyelini ortaya \u00e7\u0131karman\u0131n da anahtar\u0131d\u0131r.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_77 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0130\u00e7erik Tablosu<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a020c16b5af9\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\" id=\"ez-toc-cssicon-toggle-item-6a020c16b5af9\" aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#WordPress-Dongu-The-Loop-Kavrami\" >WordPress D\u00f6ng\u00fc (The Loop) Kavram\u0131<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#WordPress-Dongusu-Nedir\" >WordPress D\u00f6ng\u00fcs\u00fc Nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#WordPressin-Dinamik-Icerik-Gosterim-Mantigi\" >WordPress&#8217;in Dinamik \u0130\u00e7erik G\u00f6sterim Mant\u0131\u011f\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Dongunun-WordPress-Temalari-Icindeki-Temel-Gorevi\" >D\u00f6ng\u00fcn\u00fcn WordPress Temalar\u0131 \u0130\u00e7indeki Temel G\u00f6revi<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#WordPress-Dongusunun-Standart-Yapisi-ve-Calisma-Prensibi\" >WordPress D\u00f6ng\u00fcs\u00fcn\u00fcn Standart Yap\u0131s\u0131 ve \u00c7al\u0131\u015fma Prensibi<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Dongunun-Temel-PHP-Kod-Blogu\" >D\u00f6ng\u00fcn\u00fcn Temel PHP Kod Blo\u011fu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#have-posts-Fonksiyonu-Islenecek-Icerik-Var-mi\" >`have_posts()` Fonksiyonu: \u0130\u015flenecek \u0130\u00e7erik Var m\u0131?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#the-post-Fonksiyonu-Bir-Sonraki-Icerigi-Hazirlama\" >`the_post()` Fonksiyonu: Bir Sonraki \u0130\u00e7eri\u011fi Haz\u0131rlama<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#while-Yapisi-ile-Icerikleri-Sirayla-Ekrana-Getirme\" >`while` Yap\u0131s\u0131 ile \u0130\u00e7erikleri S\u0131rayla Ekrana Getirme<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Dongunun-Sona-Ermesi-endwhile-ve-else-Durumlari\" >D\u00f6ng\u00fcn\u00fcn Sona Ermesi: `endwhile` ve `else` Durumlar\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Dongu-Icerisinde-Kullanilan-Hayati-Sablon-Etiketleri-Template-Tags\" >D\u00f6ng\u00fc \u0130\u00e7erisinde Kullan\u0131lan Hayati \u015eablon Etiketleri (Template Tags)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Icerik-Basligi-the-title\" >\u0130\u00e7erik Ba\u015fl\u0131\u011f\u0131: `the_title()`<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#-gibi-baslik-etiketlerinin-icine-yerlestirilir-Ornegin\" >` gibi ba\u015fl\u0131k etiketlerinin i\u00e7ine yerle\u015ftirilir. \u00d6rne\u011fin: `<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Icerik-Metni-the-content\" >\u0130\u00e7erik Metni: `the_content()`<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Icerik-Ozeti-the-excerpt\" >\u0130\u00e7erik \u00d6zeti: `the_excerpt()`<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Kalici-Baglanti-Permalink-the-permalink\" >Kal\u0131c\u0131 Ba\u011flant\u0131 (Permalink): `the_permalink()`<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Yazar-Bilgisi-the-author\" >Yazar Bilgisi: `the_author()`<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Yayinlanma-Tarihi-the-date\" >Yay\u0131nlanma Tarihi: `the_date()`<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Kategoriler-ve-Etiketler-the-category-the-tags\" >Kategoriler ve Etiketler: `the_category()`, `the_tags()`<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#One-Cikan-Gorsel-the-post-thumbnail\" >\u00d6ne \u00c7\u0131kan G\u00f6rsel: `the_post_thumbnail()`<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Tema-Dosya-Hiyerarsisinde-Dongunun-Rolu\" >Tema Dosya Hiyerar\u015fisinde D\u00f6ng\u00fcn\u00fcn Rol\u00fc<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#indexphp-Blog-Akisinin-Kalbi\" >`index.php`: Blog Ak\u0131\u015f\u0131n\u0131n Kalbi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#singlephp-ve-pagephp-Tekil-Iceriklerin-Gosterimi\" >`single.php` ve `page.php`: Tekil \u0130\u00e7eriklerin G\u00f6sterimi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#archivephp-Kategori-Tarih-ve-Yazar-Arsivleri\" >`archive.php`: Kategori, Tarih ve Yazar Ar\u015fivleri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#searchphp-Arama-Sonuclarinin-Listelenmesi\" >`search.php`: Arama Sonu\u00e7lar\u0131n\u0131n Listelenmesi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Dongunun-Farkli-Sablon-Dosyalarinda-Kullanimi\" >D\u00f6ng\u00fcn\u00fcn Farkl\u0131 \u015eablon Dosyalar\u0131nda Kullan\u0131m\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Gelismis-Dongu-Teknikleri-Ozel-Sorgular-Custom-Queries\" >Geli\u015fmi\u015f D\u00f6ng\u00fc Teknikleri: \u00d6zel Sorgular (Custom Queries)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Standart-Dongunun-Yetersiz-Kaldigi-Durumlar\" >Standart D\u00f6ng\u00fcn\u00fcn Yetersiz Kald\u0131\u011f\u0131 Durumlar<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#WP-Query-Sinifi-ile-Ozel-Donguler-Olusturma\" >`WP_Query` S\u0131n\u0131f\u0131 ile \u00d6zel D\u00f6ng\u00fcler Olu\u015fturma<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Belirli-Bir-Kategoriden-Belirli-Sayida-Yazi-Cekme\" >Belirli Bir Kategoriden Belirli Say\u0131da Yaz\u0131 \u00c7ekme<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Yazilari-Farkli-Kriterlere-Gore-Siralama-Yorum-Sayisi-Ozel-Alan-Degeri-vb\" >Yaz\u0131lar\u0131 Farkl\u0131 Kriterlere G\u00f6re S\u0131ralama (Yorum Say\u0131s\u0131, \u00d6zel Alan De\u011feri vb.)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Bir-Sayfada-Birden-Fazla-Dongu-Kullanimi\" >Bir Sayfada Birden Fazla D\u00f6ng\u00fc Kullan\u0131m\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#WordPress-Dongusu-Kullaniminda-Iyi-Pratikler-ve-Sik-Karsilasilan-Hatalar\" >WordPress D\u00f6ng\u00fcs\u00fc Kullan\u0131m\u0131nda \u0130yi Pratikler ve S\u0131k Kar\u015f\u0131la\u015f\u0131lan Hatalar<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Coklu-Dongulerde-Sorguyu-Sifirlama-wp-reset-postdata\" >\u00c7oklu D\u00f6ng\u00fclerde Sorguyu S\u0131f\u0131rlama: `wp_reset_postdata()`<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Performans-Icin-Gereksiz-Sorgulardan-Kacinma\" >Performans \u0130\u00e7in Gereksiz Sorgulardan Ka\u00e7\u0131nma<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Dongu-Icinde-Veritabani-Sorgusu-Yapmanin-Riskleri\" >D\u00f6ng\u00fc \u0130\u00e7inde Veritaban\u0131 Sorgusu Yapman\u0131n Riskleri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Sik-Yapilan-Hata-Donguyu-Kapatmayi-Unutmak\" >S\u0131k Yap\u0131lan Hata: D\u00f6ng\u00fcy\u00fc Kapatmay\u0131 Unutmak<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-38\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Dongu-WordPress-Tema-Gelistirmenin-Neden-Vazgecilmezidir\" >D\u00f6ng\u00fc: WordPress Tema Geli\u015ftirmenin Neden Vazge\u00e7ilmezidir?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-39\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Statik-HTMLden-Dinamik-Bir-CMSe-Gecisin-Anahtari\" >Statik HTML&#8217;den Dinamik Bir CMS&#8217;e Ge\u00e7i\u015fin Anahtar\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-40\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Icerik-ve-Tasarimi-Birbirinden-Ayirma-Prensibi\" >\u0130\u00e7erik ve Tasar\u0131m\u0131 Birbirinden Ay\u0131rma Prensibi<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-41\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Tema-Esnekligi-ve-Sonsuz-Ozellestirme-Imkani-Saglamasi\" >Tema Esnekli\u011fi ve Sonsuz \u00d6zelle\u015ftirme \u0130mk\u00e2n\u0131 Sa\u011flamas\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-42\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Yuksek-Performansli-WordPress-Hosting-ve-Tema-Gelistirme-Surecleriniz-Icin-Neden-IHS-Telekomu-Tercih-Etmelisiniz\" >Y\u00fcksek Performansl\u0131 WordPress Hosting ve Tema Geli\u015ftirme S\u00fcre\u00e7leriniz \u0130\u00e7in Neden \u0130HS Telekom&#8217;u Tercih Etmelisiniz?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-43\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#WordPress-icin-Optimize-Edilmis-Sunucu-Altyapisi\" >WordPress i\u00e7in Optimize Edilmi\u015f Sunucu Altyap\u0131s\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-44\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Gelistirici-Dostu-Araclar-SSH-WP-CLI-Git\" >Geli\u015ftirici Dostu Ara\u00e7lar (SSH, WP-CLI, Git)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-45\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Hiz-ve-Guvenlik-Odakli-Cozumler\" >H\u0131z ve G\u00fcvenlik Odakl\u0131 \u00c7\u00f6z\u00fcmler<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-46\" href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-loop-dongu-nedir\/#Alaninda-Uzman-724-Teknik-Destek-Hizmeti\" >Alan\u0131nda Uzman 7\/24 Teknik Destek Hizmeti<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"WordPress-Dongu-The-Loop-Kavrami\"><\/span>WordPress D\u00f6ng\u00fc (The Loop) Kavram\u0131<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WordPress&#8217;in dinamik yap\u0131s\u0131n\u0131n kalbinde yer alan D\u00f6ng\u00fc, i\u00e7eriklerin nas\u0131l ve nerede g\u00f6sterilece\u011fini belirleyen temel bir PHP kod blo\u011fudur. Bu mekanizma olmasayd\u0131, her bir blog yaz\u0131s\u0131 veya sayfa i\u00e7in ayr\u0131 ayr\u0131 statik dosyalar olu\u015fturmak gerekirdi. D\u00f6ng\u00fc, bu s\u00fcreci otomatikle\u015ftirerek tema geli\u015ftiricilerine muazzam bir esneklik ve kontrol g\u00fcc\u00fc sunar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"WordPress-Dongusu-Nedir\"><\/span>WordPress D\u00f6ng\u00fcs\u00fc Nedir?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>En basit tan\u0131m\u0131yla WordPress D\u00f6ng\u00fcs\u00fc (The Loop), sitenizdeki yaz\u0131lar\u0131, sayfalar\u0131 veya herhangi bir post t\u00fcr\u00fcn\u00fc veritaban\u0131ndan al\u0131p ekranda g\u00f6stermek i\u00e7in kullan\u0131lan PHP kodudur. Bir ziyaret\u00e7i sitenizdeki bir sayfay\u0131 (\u00f6rne\u011fin, ana sayfa, bir kategori ar\u015fivi veya tek bir yaz\u0131) talep etti\u011finde, WordPress hangi i\u00e7eriklerin g\u00f6sterilece\u011fini belirlemek i\u00e7in bir veritaban\u0131 sorgusu olu\u015fturur. D\u00f6ng\u00fc, bu sorgunun sonu\u00e7lar\u0131n\u0131 i\u015fler ve her bir i\u00e7erik par\u00e7as\u0131n\u0131 (yaz\u0131, sayfa vb.) s\u0131rayla, teman\u0131zda belirledi\u011finiz HTML yap\u0131s\u0131na g\u00f6re ekrana basar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"WordPressin-Dinamik-Icerik-Gosterim-Mantigi\"><\/span>WordPress&#8217;in Dinamik \u0130\u00e7erik G\u00f6sterim Mant\u0131\u011f\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Statik bir web sitesinde her sayfa ayr\u0131 bir HTML dosyas\u0131d\u0131r. \u0130\u00e7eri\u011fi de\u011fi\u015ftirmek i\u00e7in do\u011frudan o dosyay\u0131 d\u00fczenlemeniz gerekir. WordPress ise dinamik bir <a href=\"https:\/\/www.ihs.com.tr\/blog\/icerik-yonetim-sistemi-cms-nedir\/\" target=\"_blank\">i\u00e7erik y\u00f6netim sistemi (CMS)<\/a> olarak \u00e7al\u0131\u015f\u0131r. \u0130\u00e7erikler (yaz\u0131 metinleri, ba\u015fl\u0131klar, tarihler vb.) bir MySQL veritaban\u0131nda saklan\u0131r. Tema dosyalar\u0131n\u0131z ise bu i\u00e7eri\u011fin nas\u0131l g\u00f6r\u00fcnece\u011fini tan\u0131mlayan \u015fablonlard\u0131r. D\u00f6ng\u00fc, bu iki d\u00fcnya aras\u0131nda k\u00f6pr\u00fc g\u00f6revi g\u00f6r\u00fcr. Veritaban\u0131ndan gelen ham veriyi al\u0131r ve tema \u015fablonunuzdaki HTML iskeletinin i\u00e7ine yerle\u015ftirerek ziyaret\u00e7inin taray\u0131c\u0131s\u0131nda anlaml\u0131 bir sayfa olu\u015fturur. Bu sayede, tek bir \u015fablon dosyas\u0131 (\u00f6rne\u011fin `single.php`) binlerce farkl\u0131 blog yaz\u0131s\u0131n\u0131 ayn\u0131 tasar\u0131m yap\u0131s\u0131yla g\u00f6sterebilir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Dongunun-WordPress-Temalari-Icindeki-Temel-Gorevi\"><\/span>D\u00f6ng\u00fcn\u00fcn WordPress Temalar\u0131 \u0130\u00e7indeki Temel G\u00f6revi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>WordPress temalar\u0131, bir sitenin g\u00f6rsel tasar\u0131m\u0131n\u0131 ve yerle\u015fimini kontrol eden dosya koleksiyonudur. D\u00f6ng\u00fcn\u00fcn bu temalar i\u00e7indeki temel g\u00f6revi, i\u00e7eri\u011fi tasar\u0131m katman\u0131ndan ay\u0131rmakt\u0131r. Bir tema geli\u015ftiricisi, d\u00f6ng\u00fcy\u00fc kullanarak &#8220;burada yaz\u0131n\u0131n ba\u015fl\u0131\u011f\u0131 g\u00f6r\u00fcnecek&#8221;, &#8220;burada yaz\u0131n\u0131n i\u00e7eri\u011fi yer alacak&#8221; ve &#8220;burada da \u00f6ne \u00e7\u0131kan g\u00f6rsel olacak&#8221; gibi kurallar belirler. WordPress, hangi sayfada oldu\u011funa ba\u011fl\u0131 olarak bu kurallar\u0131 uygular ve ilgili i\u00e7eri\u011fi do\u011fru yerlere yerle\u015ftirir. Bu yap\u0131, tasar\u0131m\u0131n i\u00e7erikten ba\u011f\u0131ms\u0131z olarak kolayca de\u011fi\u015ftirilebilmesini sa\u011flar ve WordPress&#8217;e o muazzam esnekli\u011fini kazand\u0131r\u0131r.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"WordPress-Dongusunun-Standart-Yapisi-ve-Calisma-Prensibi\"><\/span>WordPress D\u00f6ng\u00fcs\u00fcn\u00fcn Standart Yap\u0131s\u0131 ve \u00c7al\u0131\u015fma Prensibi<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WordPress D\u00f6ng\u00fcs\u00fc, belirli bir mant\u0131k s\u0131ras\u0131yla \u00e7al\u0131\u015fan bir grup PHP fonksiyonundan olu\u015fur. Bu yap\u0131, &#8220;g\u00f6sterilecek yaz\u0131 var m\u0131?&#8221; diye kontrol eder, varsa yaz\u0131lar\u0131 teker teker haz\u0131rlar ve teman\u0131z\u0131n belirledi\u011fi \u015fekilde ekrana yazd\u0131r\u0131r. Bu standart yap\u0131, WordPress&#8217;in neredeyse t\u00fcm tema dosyalar\u0131n\u0131n temelini olu\u015fturur.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Dongunun-Temel-PHP-Kod-Blogu\"><\/span>D\u00f6ng\u00fcn\u00fcn Temel PHP Kod Blo\u011fu<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Standart bir WordPress D\u00f6ng\u00fcs\u00fc \u015fu \u015fekilde g\u00f6r\u00fcn\u00fcr: `<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> \/\/ \u0130\u00e7erik burada g\u00f6sterilir (HTML ve \u015fablon etiketleri) <?php endwhile; else : ?> <\/p>\n<p>G\u00f6sterilecek i\u00e7erik bulunamad\u0131.<\/p>\n<p> <?php endif; ?>` Bu blok, d\u00f6ng\u00fcn\u00fcn temel iskeletidir ve t\u00fcm \u00e7al\u0131\u015fma prensibi bu yap\u0131n\u0131n \u00fczerine kuruludur.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"have-posts-Fonksiyonu-Islenecek-Icerik-Var-mi\"><\/span>`have_posts()` Fonksiyonu: \u0130\u015flenecek \u0130\u00e7erik Var m\u0131?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>D\u00f6ng\u00fcn\u00fcn ba\u015flang\u0131\u00e7 noktas\u0131 `have_posts()` fonksiyonudur. Bu fonksiyon, WordPress&#8217;in o anki sayfa i\u00e7in yapt\u0131\u011f\u0131 veritaban\u0131 sorgusunda i\u015flenecek herhangi bir yaz\u0131 (veya post t\u00fcr\u00fc) olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. E\u011fer sorgu bir veya daha fazla sonu\u00e7 d\u00f6nd\u00fcrd\u00fcyse `true` (do\u011fru), hi\u00e7 sonu\u00e7 bulamad\u0131ysa `false` (yanl\u0131\u015f) de\u011ferini d\u00f6nd\u00fcr\u00fcr. `if ( have_posts() )` ifadesi, tam olarak bu kontrol\u00fc yaparak d\u00f6ng\u00fcn\u00fcn \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmayaca\u011f\u0131na karar verir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"the-post-Fonksiyonu-Bir-Sonraki-Icerigi-Hazirlama\"><\/span>`the_post()` Fonksiyonu: Bir Sonraki \u0130\u00e7eri\u011fi Haz\u0131rlama<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>`have_posts()` fonksiyonu `true` de\u011ferini d\u00f6nd\u00fcrd\u00fc\u011f\u00fcnde, d\u00f6ng\u00fcn\u00fcn `while` k\u0131sm\u0131 \u00e7al\u0131\u015fmaya ba\u015flar. `while` blo\u011funun i\u00e7indeki en kritik fonksiyon `the_post()` fonksiyonudur. Bu fonksiyonun g\u00f6revi, sorgu sonu\u00e7lar\u0131 listesindeki bir sonraki yaz\u0131y\u0131 al\u0131p i\u015flemeye haz\u0131r hale getirmektir. Global `$post` nesnesini o anki yaz\u0131n\u0131n verileriyle (ID, ba\u015fl\u0131k, i\u00e7erik, yazar vb.) doldurur. Bu sayede, `the_title()` veya `the_content()` gibi di\u011fer \u015fablon etiketleri hangi yaz\u0131n\u0131n verisini kullanaca\u011f\u0131n\u0131 bilir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"while-Yapisi-ile-Icerikleri-Sirayla-Ekrana-Getirme\"><\/span>`while` Yap\u0131s\u0131 ile \u0130\u00e7erikleri S\u0131rayla Ekrana Getirme<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>`while ( have_posts() )` yap\u0131s\u0131, d\u00f6ng\u00fcn\u00fcn motorudur. Bu ifade, &#8220;i\u015flenecek yaz\u0131lar oldu\u011fu s\u00fcrece devam et&#8221; anlam\u0131na gelir. Her turda, `the_post()` bir sonraki yaz\u0131y\u0131 haz\u0131rlar ve `while` blo\u011fu i\u00e7indeki HTML ve PHP kodlar\u0131 o yaz\u0131 i\u00e7in \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r. WordPress, g\u00f6sterilecek ba\u015fka yaz\u0131 kalmad\u0131\u011f\u0131nda `have_posts()` fonksiyonu `false` d\u00f6nd\u00fcrece\u011fi i\u00e7in `while` d\u00f6ng\u00fcs\u00fc otomatik olarak sona erer. Bu sayede bir kategori sayfas\u0131ndaki 10 yaz\u0131, ayn\u0131 kod blo\u011fu 10 kez tekrarlanarak ekrana getirilir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Dongunun-Sona-Ermesi-endwhile-ve-else-Durumlari\"><\/span>D\u00f6ng\u00fcn\u00fcn Sona Ermesi: `endwhile` ve `else` Durumlar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>`endwhile;` ifadesi, `while` blo\u011funun bitti\u011fi yeri belirtir. T\u00fcm yaz\u0131lar i\u015flendikten sonra d\u00f6ng\u00fc bu noktada durur. Ba\u015flang\u0131\u00e7taki `if` kontrol\u00fcn\u00fcn bir de `else` (de\u011filse) durumu vard\u0131r. E\u011fer `have_posts()` en ba\u015fta `false` de\u011ferini d\u00f6nd\u00fcr\u00fcrse, yani arama sonucunda veya bir ar\u015fiv sayfas\u0131nda hi\u00e7 i\u00e7erik bulunamazsa, `else:` blo\u011funun alt\u0131ndaki kod \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r. Genellikle buraya &#8220;Arad\u0131\u011f\u0131n\u0131z kriterlere uygun i\u00e7erik bulunamad\u0131.&#8221; gibi bir mesaj konulur.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Dongu-Icerisinde-Kullanilan-Hayati-Sablon-Etiketleri-Template-Tags\"><\/span>D\u00f6ng\u00fc \u0130\u00e7erisinde Kullan\u0131lan Hayati \u015eablon Etiketleri (Template Tags)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WordPress D\u00f6ng\u00fcs\u00fc, `the_post()` ile bir yaz\u0131y\u0131 i\u015fleme haz\u0131rlad\u0131ktan sonra, o yaz\u0131ya ait bilgileri ekrana yazd\u0131rmak i\u00e7in &#8220;\u015eablon Etiketleri&#8221; (Template Tags) ad\u0131 verilen \u00f6zel PHP fonksiyonlar\u0131n\u0131 kullan\u0131r. Bu etiketler, geli\u015ftiricilerin karma\u015f\u0131k PHP kodlar\u0131 yazmadan do\u011frudan yaz\u0131 ba\u015fl\u0131\u011f\u0131, i\u00e7eri\u011fi, tarihi gibi verilere ula\u015fmas\u0131n\u0131 sa\u011flar. Her bir etiket, d\u00f6ng\u00fc i\u00e7inde belirli bir amaca hizmet eder.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Icerik-Basligi-the-title\"><\/span>\u0130\u00e7erik Ba\u015fl\u0131\u011f\u0131: `the_title()`<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>D\u00f6ng\u00fc i\u00e7indeki mevcut yaz\u0131n\u0131n ba\u015fl\u0131\u011f\u0131n\u0131 do\u011frudan ekrana basmak i\u00e7in kullan\u0131l\u0131r. Genellikle `<\/p>\n<h1>` veya `<\/p>\n<h2>` gibi ba\u015fl\u0131k etiketlerinin i\u00e7ine yerle\u015ftirilir. \u00d6rne\u011fin: `<\/p>\n<h2><?php the_title(); ?><\/h2>\n<p>`.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Icerik-Metni-the-content\"><\/span>\u0130\u00e7erik Metni: `the_content()`<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yaz\u0131n\u0131n veya sayfan\u0131n t\u00fcm i\u00e7eri\u011fini, WordPress edit\u00f6r\u00fcnde girildi\u011fi \u015fekliyle (paragraflar, resimler, formatlamalar dahil) ekrana getirir. Bu fonksiyon, i\u00e7eri\u011fe otomatik olarak `<\/p>\n<p>` etiketleri ekler ve WordPress&#8217;in kendi filtrelerini uygular.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Icerik-Ozeti-the-excerpt\"><\/span>\u0130\u00e7erik \u00d6zeti: `the_excerpt()`<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yaz\u0131n\u0131n tam i\u00e7eri\u011fi yerine k\u0131sa bir \u00f6zetini g\u00f6sterir. E\u011fer y\u00f6netici panelinde yaz\u0131 i\u00e7in \u00f6zel bir \u00f6zet girilmi\u015fse onu kullan\u0131r. Girilmemi\u015fse, i\u00e7eri\u011fin ilk 55 kelimesini al\u0131p sonuna &#8220;[&#8230;]&#8221; ekleyerek otomatik bir \u00f6zet olu\u015fturur. Genellikle blog listeleme sayfalar\u0131nda kullan\u0131l\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kalici-Baglanti-Permalink-the-permalink\"><\/span>Kal\u0131c\u0131 Ba\u011flant\u0131 (Permalink): `the_permalink()`<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>O anki yaz\u0131n\u0131n tam <a href=\"https:\/\/www.ihs.com.tr\/blog\/url-nedir\/\" target=\"_blank\">URL<\/a> adresini verir. Genellikle bir `<a>` (link) etiketinin `href` \u00f6zelli\u011finde, yaz\u0131 ba\u015fl\u0131\u011f\u0131n\u0131 veya &#8220;Devam\u0131n\u0131 Oku&#8221; linkini t\u0131klanabilir yapmak i\u00e7in kullan\u0131l\u0131r. \u00d6rne\u011fin: `<a href=\"<?php the_permalink(); ? target=\"_blank\" rel=\"nofollow\">&#8220;>Devam\u0131n\u0131 Oku<\/a>`.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yazar-Bilgisi-the-author\"><\/span>Yazar Bilgisi: `the_author()`<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yaz\u0131y\u0131 yay\u0131nlayan kullan\u0131c\u0131n\u0131n, profilinde belirtti\u011fi &#8220;G\u00f6r\u00fcnt\u00fclenecek Ad&#8221; bilgisini ekrana basar. Yazar\u0131n di\u011fer bilgilerine ula\u015fmak i\u00e7in `get_the_author_meta()` gibi daha geli\u015fmi\u015f fonksiyonlar da mevcuttur.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yayinlanma-Tarihi-the-date\"><\/span>Yay\u0131nlanma Tarihi: `the_date()`<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yaz\u0131n\u0131n yay\u0131nland\u0131\u011f\u0131 tarihi g\u00f6sterir. Bu fonksiyonun ilgin\u00e7 bir \u00f6zelli\u011fi vard\u0131r: ayn\u0131 g\u00fcn i\u00e7inde yay\u0131nlanm\u0131\u015f birden fazla yaz\u0131 listeleniyorsa, tarihi sadece ilk yaz\u0131 i\u00e7in g\u00f6sterir. Her yaz\u0131 i\u00e7in tarihi g\u00f6stermek isterseniz `the_time()` fonksiyonunu kullanabilirsiniz. Her ikisi de PHP tarih formatlama karakterlerini parametre olarak alabilir (\u00f6rn: `the_time(&#8216;F j, Y&#8217;);`).<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kategoriler-ve-Etiketler-the-category-the-tags\"><\/span>Kategoriler ve Etiketler: `the_category()`, `the_tags()`<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>`the_category()` fonksiyonu, yaz\u0131n\u0131n atand\u0131\u011f\u0131 kategorileri link olarak listeler. `the_tags()` ise benzer \u015fekilde yaz\u0131ya eklenmi\u015f etiketleri linkleriyle birlikte g\u00f6sterir. Bu fonksiyonlar, kullan\u0131c\u0131lar\u0131n benzer i\u00e7eriklere kolayca ula\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"One-Cikan-Gorsel-the-post-thumbnail\"><\/span>\u00d6ne \u00c7\u0131kan G\u00f6rsel: `the_post_thumbnail()`<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Yaz\u0131ya atanm\u0131\u015f olan \u00f6ne \u00e7\u0131kan g\u00f6rseli (featured image) bir `<img>` etiketiyle birlikte ekrana getirir. Fonksiyon, parametre olarak g\u00f6rsel boyutunu (`&#8217;thumbnail&#8217;`, `&#8217;medium&#8217;`, `&#8217;large&#8217;` veya temada tan\u0131mlanm\u0131\u015f \u00f6zel bir boyut) alabilir. Bu, tema tasar\u0131m\u0131nda tutarl\u0131l\u0131k sa\u011flamak i\u00e7in olduk\u00e7a \u00f6nemlidir.<\/p>\n<div class=\"karsilastirma\">\n<table>\n<thead>\n<tr>\n<th>\u015eablon Etiketi<\/th>\n<th>G\u00f6revi<\/th>\n<th>Tipik Kullan\u0131m Yeri<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>the_title()<\/code><\/td>\n<td>Yaz\u0131 ba\u015fl\u0131\u011f\u0131n\u0131 ekrana basar.<\/td>\n<td><code>&lt;h1&gt;<\/code>, <code>&lt;h2&gt;<\/code> etiketleri i\u00e7inde.<\/td>\n<\/tr>\n<tr>\n<td><code>the_content()<\/code><\/td>\n<td>Yaz\u0131n\u0131n t\u00fcm i\u00e7eri\u011fini g\u00f6sterir.<\/td>\n<td>Tekil yaz\u0131 (single.php) \u015fablonlar\u0131nda.<\/td>\n<\/tr>\n<tr>\n<td><code>the_excerpt()<\/code><\/td>\n<td>Yaz\u0131n\u0131n k\u0131sa bir \u00f6zetini g\u00f6sterir.<\/td>\n<td>Blog listeleme (index.php, archive.php) sayfalar\u0131nda.<\/td>\n<\/tr>\n<tr>\n<td><code>the_permalink()<\/code><\/td>\n<td>Yaz\u0131n\u0131n kal\u0131c\u0131 ba\u011flant\u0131s\u0131n\u0131 (URL) verir.<\/td>\n<td><code>&lt;a href=\"\"&gt;<\/code> etiketi i\u00e7inde.<\/td>\n<\/tr>\n<tr>\n<td><code>the_post_thumbnail()<\/code><\/td>\n<td>\u00d6ne \u00e7\u0131kan g\u00f6rseli ekrana basar.<\/td>\n<td>Liste ve tekil yaz\u0131 \u015fablonlar\u0131nda.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Tema-Dosya-Hiyerarsisinde-Dongunun-Rolu\"><\/span>Tema Dosya Hiyerar\u015fisinde D\u00f6ng\u00fcn\u00fcn Rol\u00fc<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WordPress&#8217;in &#8220;\u015eablon Hiyerar\u015fisi&#8221;, bir ziyaret\u00e7i web sitenizde bir URL talep etti\u011finde hangi tema dosyas\u0131n\u0131n kullan\u0131laca\u011f\u0131n\u0131 belirleyen bir kurallar dizisidir. D\u00f6ng\u00fc, bu hiyerar\u015fideki her bir \u015fablon dosyas\u0131n\u0131n merkezinde yer al\u0131r, ancak g\u00f6revi bulundu\u011fu dosyaya g\u00f6re farkl\u0131l\u0131k g\u00f6sterir. WordPress, arka planda hangi i\u00e7eriklerin g\u00f6sterilece\u011fine karar verir ve d\u00f6ng\u00fc bu karar\u0131 ekrana yans\u0131t\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"indexphp-Blog-Akisinin-Kalbi\"><\/span>`index.php`: Blog Ak\u0131\u015f\u0131n\u0131n Kalbi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>E\u011fer daha spesifik bir \u015fablon dosyas\u0131 bulunamazsa, WordPress varsay\u0131lan olarak `index.php` dosyas\u0131n\u0131 kullan\u0131r. Bu dosya genellikle sitenin blog yaz\u0131lar\u0131n\u0131 en yeniden en eskiye do\u011fru listelemek i\u00e7in kullan\u0131l\u0131r. Buradaki d\u00f6ng\u00fc, birden \u00e7ok yaz\u0131y\u0131 arka arkaya g\u00f6stermek \u00fczere tasarlanm\u0131\u015ft\u0131r ve genellikle her yaz\u0131 i\u00e7in `the_title()`, `the_excerpt()`, `the_post_thumbnail()` gibi \u00f6zet bilgilerini kullan\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"singlephp-ve-pagephp-Tekil-Iceriklerin-Gosterimi\"><\/span>`single.php` ve `page.php`: Tekil \u0130\u00e7eriklerin G\u00f6sterimi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bir ziyaret\u00e7i tek bir blog yaz\u0131s\u0131n\u0131 g\u00f6r\u00fcnt\u00fcledi\u011finde `single.php` dosyas\u0131 devreye girer. Bir sayfay\u0131 (\u00f6rne\u011fin &#8220;Hakk\u0131m\u0131zda&#8221; sayfas\u0131) g\u00f6r\u00fcnt\u00fcledi\u011finde ise `page.php` kullan\u0131l\u0131r. Bu \u015fablonlardaki d\u00f6ng\u00fc, sadece tek bir i\u00e7eri\u011fi g\u00f6stermek \u00fczere \u00e7al\u0131\u015f\u0131r. Bu nedenle, genellikle `the_excerpt()` yerine yaz\u0131n\u0131n t\u00fcm metnini g\u00f6steren `the_content()` fonksiyonu kullan\u0131l\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"archivephp-Kategori-Tarih-ve-Yazar-Arsivleri\"><\/span>`archive.php`: Kategori, Tarih ve Yazar Ar\u015fivleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Kullan\u0131c\u0131 bir kategori, etiket, tarih veya yazar ar\u015fivine t\u0131klad\u0131\u011f\u0131nda, WordPress bu i\u00e7erikleri listelemek i\u00e7in `archive.php` dosyas\u0131n\u0131 (veya daha spesifik olarak `category.php`, `tag.php`, `author.php` gibi dosyalar\u0131) arar. `index.php`&#8217;ye benzer \u015fekilde, buradaki d\u00f6ng\u00fc de birden \u00e7ok yaz\u0131y\u0131 listeler, ancak listelenen yaz\u0131lar WordPress taraf\u0131ndan ilgili ar\u015five g\u00f6re (\u00f6rne\u011fin sadece &#8220;Teknoloji&#8221; kategorisindeki yaz\u0131lar) filtrelenir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"searchphp-Arama-Sonuclarinin-Listelenmesi\"><\/span>`search.php`: Arama Sonu\u00e7lar\u0131n\u0131n Listelenmesi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Sitenizde bir arama yap\u0131ld\u0131\u011f\u0131nda, sonu\u00e7lar\u0131n listelenmesi i\u00e7in `search.php` \u015fablonu kullan\u0131l\u0131r. Bu dosyadaki d\u00f6ng\u00fcn\u00fcn g\u00f6revi, arama terimiyle e\u015fle\u015fen yaz\u0131lar\u0131 veya sayfalar\u0131 listelemektir. E\u011fer hi\u00e7bir sonu\u00e7 bulunamazsa, d\u00f6ng\u00fcn\u00fcn `else` b\u00f6l\u00fcm\u00fc devreye girerek &#8220;Arama sonucu bulunamad\u0131&#8221; gibi bir mesaj g\u00f6sterir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Dongunun-Farkli-Sablon-Dosyalarinda-Kullanimi\"><\/span>D\u00f6ng\u00fcn\u00fcn Farkl\u0131 \u015eablon Dosyalar\u0131nda Kullan\u0131m\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>G\u00f6r\u00fcld\u00fc\u011f\u00fc gibi, temel `if\/while` d\u00f6ng\u00fc yap\u0131s\u0131 t\u00fcm bu dosyalarda neredeyse ayn\u0131d\u0131r. De\u011fi\u015fen \u015fey, d\u00f6ng\u00fcn\u00fcn *i\u00e7inde* neyin g\u00f6sterildi\u011fidir (`the_content` mi, `the_excerpt` mi) ve WordPress&#8217;in bu d\u00f6ng\u00fcy\u00fc hangi verilerle besledi\u011fidir. Bu yap\u0131, tema geli\u015ftiricilerine farkl\u0131 i\u00e7erik t\u00fcrleri ve g\u00f6r\u00fcn\u00fcmleri i\u00e7in tutarl\u0131 ama esnek \u015fablonlar olu\u015fturma imkan\u0131 tan\u0131r.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Gelismis-Dongu-Teknikleri-Ozel-Sorgular-Custom-Queries\"><\/span>Geli\u015fmi\u015f D\u00f6ng\u00fc Teknikleri: \u00d6zel Sorgular (Custom Queries)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WordPress&#8217;in standart d\u00f6ng\u00fcs\u00fc, mevcut URL&#8217;ye g\u00f6re otomatik olarak do\u011fru i\u00e7eri\u011fi getirir ve \u00e7o\u011fu durum i\u00e7in m\u00fckemmeldir. Ancak bazen bir sayfada standart ak\u0131\u015f\u0131n d\u0131\u015f\u0131nda, tamamen farkl\u0131 kriterlere sahip i\u00e7erikleri g\u00f6stermeniz gerekebilir. \u0130\u015fte bu noktada \u00f6zel sorgular ve `WP_Query` s\u0131n\u0131f\u0131 devreye girer.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Standart-Dongunun-Yetersiz-Kaldigi-Durumlar\"><\/span>Standart D\u00f6ng\u00fcn\u00fcn Yetersiz Kald\u0131\u011f\u0131 Durumlar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Standart d\u00f6ng\u00fc, \u00f6rne\u011fin bir kategori sayfas\u0131nda sadece o kategoriye ait yaz\u0131lar\u0131 g\u00f6sterir. Peki ya ana sayfan\u0131zda bir &#8220;\u00d6ne \u00c7\u0131kanlar&#8221; b\u00f6l\u00fcm\u00fc olu\u015fturup, sadece belirli bir etikete sahip son 3 yaz\u0131y\u0131 g\u00f6stermek isterseniz? Veya bir yaz\u0131n\u0131n alt\u0131nda, o yaz\u0131yla ayn\u0131 kategorideki di\u011fer &#8220;Benzer Yaz\u0131lar\u0131&#8221; listelemek isterseniz? \u0130\u015fte bu gibi durumlarda, WordPress&#8217;in varsay\u0131lan sorgusunu ezerek kendi kurallar\u0131n\u0131z\u0131 belirlemeniz gerekir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"WP-Query-Sinifi-ile-Ozel-Donguler-Olusturma\"><\/span>`WP_Query` S\u0131n\u0131f\u0131 ile \u00d6zel D\u00f6ng\u00fcler Olu\u015fturma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>`WP_Query`, WordPress veritaban\u0131yla do\u011frudan etkile\u015fime ge\u00e7mek i\u00e7in kullan\u0131lan son derece g\u00fc\u00e7l\u00fc bir PHP s\u0131n\u0131f\u0131d\u0131r. Bu s\u0131n\u0131f\u0131 kullanarak, WordPress&#8217;in standart sorgusundan tamamen ba\u011f\u0131ms\u0131z yeni ve \u00f6zel d\u00f6ng\u00fcler olu\u015fturabilirsiniz. `WP_Query` kullan\u0131m\u0131 genellikle \u015fu ad\u0131mlar\u0131 i\u00e7erir:<\/p>\n<ol>\n<li>Sorgu arg\u00fcmanlar\u0131n\u0131 (parametreleri) bir dizi i\u00e7inde tan\u0131mlama.<\/li>\n<li>Bu arg\u00fcmanlarla yeni bir `WP_Query` nesnesi olu\u015fturma.<\/li>\n<li>Bu nesneyi kullanarak standart d\u00f6ng\u00fcye \u00e7ok benzeyen yeni bir d\u00f6ng\u00fc ba\u015flatma.<\/li>\n<li>\u0130\u015finiz bitti\u011finde sorguyu s\u0131f\u0131rlama.<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"Belirli-Bir-Kategoriden-Belirli-Sayida-Yazi-Cekme\"><\/span>Belirli Bir Kategoriden Belirli Say\u0131da Yaz\u0131 \u00c7ekme<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>`WP_Query`&#8217;nin en yayg\u0131n kullan\u0131mlar\u0131ndan biri budur. \u00d6rne\u011fin, &#8216;haberler&#8217; kategorisinden en son 5 yaz\u0131y\u0131 \u00e7ekmek i\u00e7in \u015f\u00f6yle bir arg\u00fcman dizisi olu\u015fturabilirsiniz: `$args = array( &#8216;category_name&#8217; => &#8216;haberler&#8217;, &#8216;posts_per_page&#8217; => 5 );`. Bu `args` dizisini yeni bir `WP_Query` nesnesine verdi\u011finizde, d\u00f6ng\u00fcn\u00fcz sadece bu 5 haberi g\u00f6sterecektir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yazilari-Farkli-Kriterlere-Gore-Siralama-Yorum-Sayisi-Ozel-Alan-Degeri-vb\"><\/span>Yaz\u0131lar\u0131 Farkl\u0131 Kriterlere G\u00f6re S\u0131ralama (Yorum Say\u0131s\u0131, \u00d6zel Alan De\u011feri vb.)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>`WP_Query` ile i\u00e7erikleri sadece tarihe g\u00f6re de\u011fil, \u00e7ok \u00e7e\u015fitli kriterlere g\u00f6re s\u0131ralayabilirsiniz. \u00d6rne\u011fin, en \u00e7ok yorum alan yaz\u0131lar\u0131 listelemek i\u00e7in `&#8217;orderby&#8217; => &#8216;comment_count&#8217;` parametresini kullanabilirsiniz. Veya bir &#8220;\u00fcr\u00fcn&#8221; post t\u00fcr\u00fcn\u00fcz varsa ve bunlar\u0131 fiyata g\u00f6re s\u0131ralamak isterseniz, \u00f6zel bir alana (custom field) g\u00f6re s\u0131ralama yapabilirsiniz: `&#8217;meta_key&#8217; => &#8216;fiyat&#8217;, &#8216;orderby&#8217; => &#8216;meta_value_num&#8217;`. Bu, i\u00e7eri\u011fi dinamik olarak d\u00fczenlemek i\u00e7in sonsuz olanaklar sunar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Bir-Sayfada-Birden-Fazla-Dongu-Kullanimi\"><\/span>Bir Sayfada Birden Fazla D\u00f6ng\u00fc Kullan\u0131m\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bir sayfa \u015fablonunda hem standart sayfa i\u00e7eri\u011fini (ana d\u00f6ng\u00fc ile) hem de, \u00f6rne\u011fin, en son blog yaz\u0131lar\u0131n\u0131 (\u00f6zel bir `WP_Query` d\u00f6ng\u00fcs\u00fc ile) g\u00f6stermek m\u00fcmk\u00fcnd\u00fcr. Ana d\u00f6ng\u00fc sayfa i\u00e7eri\u011fini g\u00f6sterdikten sonra, yeni bir `WP_Query` ba\u015flatarak kenar \u00e7ubu\u011funda veya sayfan\u0131n alt\u0131nda tamamen farkl\u0131 bir i\u00e7erik listesi olu\u015fturabilirsiniz. Bu, \u00f6zellikle karma\u015f\u0131k ve mod\u00fcler ana sayfa tasar\u0131mlar\u0131nda s\u0131k\u00e7a kullan\u0131lan bir tekniktir.<\/p>\n<div class=\"karsilastirma\">\n<table>\n<thead>\n<tr>\n<th>\u00d6zellik<\/th>\n<th>Standart D\u00f6ng\u00fc<\/th>\n<th>\u00d6zel D\u00f6ng\u00fc (WP_Query)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Sorgu Kayna\u011f\u0131<\/strong><\/td>\n<td>WordPress taraf\u0131ndan URL&#8217;ye g\u00f6re otomatik olarak olu\u015fturulur.<\/td>\n<td>Geli\u015ftirici taraf\u0131ndan `WP_Query` s\u0131n\u0131f\u0131 ve \u00f6zel arg\u00fcmanlarla manuel olarak olu\u015fturulur.<\/td>\n<\/tr>\n<tr>\n<td><strong>Kontrol<\/strong><\/td>\n<td>S\u0131n\u0131rl\u0131 kontrol. Genellikle `pre_get_posts` ile de\u011fi\u015ftirilebilir.<\/td>\n<td>Tam kontrol. Kategori, etiket, post t\u00fcr\u00fc, s\u0131ralama, \u00f6zel alanlar vb. her \u015fey belirtilebilir.<\/td>\n<\/tr>\n<tr>\n<td><strong>Kullan\u0131m Alan\u0131<\/strong><\/td>\n<td>Ana i\u00e7erik ak\u0131\u015f\u0131 (index.php, single.php, archive.php vb.).<\/td>\n<td>\u0130kincil i\u00e7erik bloklar\u0131 (Benzer yaz\u0131lar, \u00f6ne \u00e7\u0131kanlar, slider&#8217;lar, widget&#8217;lar).<\/td>\n<\/tr>\n<tr>\n<td><strong>S\u0131f\u0131rlama<\/strong><\/td>\n<td>Gerekmez, WordPress kendi y\u00f6netir.<\/td>\n<td>Sorgu sonras\u0131 `wp_reset_postdata()` ile s\u0131f\u0131rlanmas\u0131 zorunludur.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"WordPress-Dongusu-Kullaniminda-Iyi-Pratikler-ve-Sik-Karsilasilan-Hatalar\"><\/span>WordPress D\u00f6ng\u00fcs\u00fc Kullan\u0131m\u0131nda \u0130yi Pratikler ve S\u0131k Kar\u015f\u0131la\u015f\u0131lan Hatalar<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WordPress D\u00f6ng\u00fcs\u00fc&#8217;n\u00fc etkili ve hatas\u0131z kullanmak, hem sitenin do\u011fru \u00e7al\u0131\u015fmas\u0131 hem de performans\u0131 i\u00e7in kritik \u00f6neme sahiptir. \u00d6zellikle \u00f6zel sorgular devreye girdi\u011finde, dikkat edilmesi gereken baz\u0131 \u00f6nemli noktalar ve ka\u00e7\u0131n\u0131lmas\u0131 gereken yayg\u0131n hatalar vard\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Coklu-Dongulerde-Sorguyu-Sifirlama-wp-reset-postdata\"><\/span>\u00c7oklu D\u00f6ng\u00fclerde Sorguyu S\u0131f\u0131rlama: `wp_reset_postdata()`<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bir sayfada `WP_Query` kullanarak \u00f6zel bir d\u00f6ng\u00fc olu\u015fturdu\u011funuzda, bu d\u00f6ng\u00fc WordPress&#8217;in ana sorgusunu ve global `$post` de\u011fi\u015fkenini ge\u00e7ici olarak de\u011fi\u015ftirir. \u00d6zel d\u00f6ng\u00fcn\u00fcz bittikten sonra, e\u011fer sayfada ba\u015fka bir d\u00f6ng\u00fc (veya ana d\u00f6ng\u00fcn\u00fcn devam\u0131) varsa, bu global verileri eski haline getirmek zorunludur. `wp_reset_postdata()` fonksiyonu tam olarak bu i\u015fi yapar. \u00d6zel `WP_Query` d\u00f6ng\u00fcn\u00fcz\u00fcn `endwhile`&#8217;\u0131ndan hemen sonra bu fonksiyonu \u00e7a\u011f\u0131rmay\u0131 unutmak, sayfan\u0131n geri kalan\u0131ndaki i\u00e7eriklerin yanl\u0131\u015f g\u00f6sterilmesine veya hi\u00e7 g\u00f6sterilmemesine neden olan en yayg\u0131n hatalardan biridir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Performans-Icin-Gereksiz-Sorgulardan-Kacinma\"><\/span>Performans \u0130\u00e7in Gereksiz Sorgulardan Ka\u00e7\u0131nma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Her `WP_Query` kullan\u0131m\u0131, veritaban\u0131na yeni bir sorgu g\u00f6nderir. Veritaban\u0131 sorgular\u0131, bir sayfan\u0131n y\u00fcklenme s\u00fcresini etkileyen en maliyetli i\u015flemlerden biridir. Bu nedenle, gereksiz veya a\u015f\u0131r\u0131 karma\u015f\u0131k sorgulardan ka\u00e7\u0131nmak \u00f6nemlidir. \u00d6rne\u011fin, bir i\u015flemi daha basit bir fonksiyonla yapabiliyorsan\u0131z, s\u0131rf bunun i\u00e7in yeni bir `WP_Query` olu\u015fturmay\u0131n. Sorgular\u0131n\u0131z\u0131 m\u00fcmk\u00fcn oldu\u011funca spesifik tutun ve sadece ihtiyac\u0131n\u0131z olan veriyi \u00e7ekin.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Dongu-Icinde-Veritabani-Sorgusu-Yapmanin-Riskleri\"><\/span>D\u00f6ng\u00fc \u0130\u00e7inde Veritaban\u0131 Sorgusu Yapman\u0131n Riskleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>En b\u00fcy\u00fck performans tuzaklar\u0131ndan biri, bir d\u00f6ng\u00fcn\u00fcn *i\u00e7inde* ba\u015fka bir veritaban\u0131 sorgusu yapmakt\u0131r. \u00d6rne\u011fin, 10 yaz\u0131 listeleyen bir d\u00f6ng\u00fcn\u00fcz var ve her bir yaz\u0131 i\u00e7in o yaz\u0131n\u0131n yazar\u0131n\u0131n toplam yaz\u0131 say\u0131s\u0131n\u0131 bulmak amac\u0131yla yeni bir veritaban\u0131 sorgusu \u00e7al\u0131\u015ft\u0131r\u0131yorsunuz. Bu, ana sorgu (1 adet) art\u0131 d\u00f6ng\u00fc i\u00e7indeki sorgular (10 adet) olmak \u00fczere toplam 11 veritaban\u0131 sorgusuna neden olur. Bu &#8220;N+1 problemi&#8221; olarak bilinir ve sitenizi h\u0131zla yava\u015flatabilir. Bunun yerine, verileri m\u00fcmk\u00fcnse tek bir karma\u015f\u0131k sorguyla en ba\u015fta almak veya WordPress&#8217;in \u00f6nbellekleme mekanizmalar\u0131ndan faydalanmak daha do\u011frudur.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Sik-Yapilan-Hata-Donguyu-Kapatmayi-Unutmak\"><\/span>S\u0131k Yap\u0131lan Hata: D\u00f6ng\u00fcy\u00fc Kapatmay\u0131 Unutmak<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Basit ama s\u0131k kar\u015f\u0131la\u015f\u0131lan bir hata da `while` d\u00f6ng\u00fcs\u00fcn\u00fc `endwhile;` ile kapatmay\u0131 unutmakt\u0131r. Bu durum, PHP&#8217;nin bir &#8220;sonsuz d\u00f6ng\u00fc&#8221; hatas\u0131 vermesine veya sayfa d\u00fczeninin tamamen bozulmas\u0131na neden olabilir. Kodunuzu yazarken, a\u00e7t\u0131\u011f\u0131n\u0131z her `if` ve `while` yap\u0131s\u0131n\u0131 do\u011fru yerde kapatt\u0131\u011f\u0131n\u0131zdan emin olmak, hata ay\u0131klama s\u00fcrecinde size saatler kazand\u0131rabilir.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Dongu-WordPress-Tema-Gelistirmenin-Neden-Vazgecilmezidir\"><\/span>D\u00f6ng\u00fc: WordPress Tema Geli\u015ftirmenin Neden Vazge\u00e7ilmezidir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WordPress D\u00f6ng\u00fcs\u00fc, sadece i\u00e7erik g\u00f6stermeye yarayan bir kod par\u00e7as\u0131 de\u011fildir; WordPress felsefesinin ve mimarisinin temel ta\u015f\u0131d\u0131r. Onu anlamak, WordPress&#8217;i bir blog platformundan esnek bir uygulama geli\u015ftirme \u00e7er\u00e7evesine d\u00f6n\u00fc\u015ft\u00fcren g\u00fcc\u00fc anlamak demektir. D\u00f6ng\u00fc, tema geli\u015ftirmenin vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r \u00e7\u00fcnk\u00fc modern bir CMS&#8217;in en temel prensiplerini hayata ge\u00e7irir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Statik-HTMLden-Dinamik-Bir-CMSe-Gecisin-Anahtari\"><\/span>Statik HTML&#8217;den Dinamik Bir CMS&#8217;e Ge\u00e7i\u015fin Anahtar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>D\u00f6ng\u00fc olmasayd\u0131, WordPress y\u00f6neticisi taraf\u0131ndan eklenen her yeni i\u00e7erik i\u00e7in bir geli\u015ftiricinin manuel olarak yeni bir HTML dosyas\u0131 olu\u015fturmas\u0131 gerekirdi. D\u00f6ng\u00fc, bu s\u00fcreci tamamen otomatikle\u015ftirir. \u0130\u00e7erik \u00fcreticileri ve site y\u00f6neticileri, kod bilgisine ihtiya\u00e7 duymadan istedikleri kadar i\u00e7erik ekleyebilirler. D\u00f6ng\u00fc, bu i\u00e7erikleri dinamik olarak al\u0131r ve \u00f6nceden tasarlanm\u0131\u015f \u015fablonlara yerle\u015ftirir. Bu, WordPress&#8217;i g\u00fc\u00e7l\u00fc ve kullan\u0131c\u0131 dostu bir <a href=\"https:\/\/www.ihs.com.tr\/blog\/cms-vs-framework-hangisi-daha-iyi\/\" target=\"_blank\">CMS<\/a> yapan en temel \u00f6zelliktir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Icerik-ve-Tasarimi-Birbirinden-Ayirma-Prensibi\"><\/span>\u0130\u00e7erik ve Tasar\u0131m\u0131 Birbirinden Ay\u0131rma Prensibi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Profesyonel web geli\u015ftirmenin temel ilkelerinden biri, i\u00e7erik (veri), tasar\u0131m (g\u00f6r\u00fcn\u00fcm) ve i\u015flevselli\u011fi (mant\u0131k) birbirinden ay\u0131rmakt\u0131r. WordPress D\u00f6ng\u00fcs\u00fc, bu prensibi m\u00fckemmel bir \u015fekilde uygular. Veritaban\u0131 i\u00e7eri\u011fi tutar, tema dosyalar\u0131 ve CSS tasar\u0131m\u0131 belirler. D\u00f6ng\u00fc ise bu ikisi aras\u0131nda bir arac\u0131 olarak g\u00f6rev yapar. Bu ayr\u0131m sayesinde, bir sitenin t\u00fcm tasar\u0131m\u0131n\u0131 (temay\u0131 de\u011fi\u015ftirerek) tek bir sat\u0131r i\u00e7eri\u011fi bile kaybetmeden de\u011fi\u015ftirmek m\u00fcmk\u00fcn hale gelir. Ayn\u0131 \u015fekilde, i\u00e7erik g\u00fcncellendi\u011finde tasar\u0131ma dokunmak gerekmez.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Tema-Esnekligi-ve-Sonsuz-Ozellestirme-Imkani-Saglamasi\"><\/span>Tema Esnekli\u011fi ve Sonsuz \u00d6zelle\u015ftirme \u0130mk\u00e2n\u0131 Sa\u011flamas\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Standart d\u00f6ng\u00fc ve \u00f6zellikle `WP_Query` ile olu\u015fturulan \u00f6zel d\u00f6ng\u00fcler, bir tema geli\u015ftiricisine neredeyse s\u0131n\u0131rs\u0131z bir \u00f6zelle\u015ftirme g\u00fcc\u00fc verir. Bir sayfada istedi\u011finiz herhangi bir yerden, istedi\u011finiz kriterlere uyan i\u00e7eri\u011fi \u00e7ekip g\u00f6sterebilirsiniz. Karma\u015f\u0131k dergi ana sayfalar\u0131, portfolyo siteleri, e-ticaret \u00fcr\u00fcn listeleri, ili\u015fkili i\u00e7erik mod\u00fclleri; hepsi d\u00f6ng\u00fcn\u00fcn ve \u00f6zel sorgular\u0131n esnekli\u011fi sayesinde m\u00fcmk\u00fcnd\u00fcr. D\u00f6ng\u00fcye hakim olmak, bir geli\u015ftiricinin hayalindeki herhangi bir tasar\u0131m\u0131 ve i\u015flevselli\u011fi WordPress \u00fczerinde hayata ge\u00e7irebilmesinin kap\u0131s\u0131n\u0131 aralar.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Yuksek-Performansli-WordPress-Hosting-ve-Tema-Gelistirme-Surecleriniz-Icin-Neden-IHS-Telekomu-Tercih-Etmelisiniz\"><\/span>Y\u00fcksek Performansl\u0131 WordPress Hosting ve Tema Geli\u015ftirme S\u00fcre\u00e7leriniz \u0130\u00e7in Neden \u0130HS Telekom&#8217;u Tercih Etmelisiniz?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Geli\u015ftirdi\u011finiz temalar\u0131n ve yazd\u0131\u011f\u0131n\u0131z d\u00f6ng\u00fclerin potansiyelini tam olarak ortaya \u00e7\u0131karabilmek, ancak ve ancak sa\u011flam bir altyap\u0131 \u00fczerinde m\u00fcmk\u00fcnd\u00fcr. Yava\u015f bir sunucuda en optimize edilmi\u015f kod bile yetersiz kalabilir. \u0130HS Telekom, \u00f6zellikle WordPress geli\u015ftiricilerinin ihtiya\u00e7lar\u0131na odaklanm\u0131\u015f <a href=\"https:\/\/www.ihs.com.tr\/web-hosting\/wordpress-hosting.html\" target=\"_blank\">wordpress hosting<\/a> \u00e7\u00f6z\u00fcmleriyle projelerinizin hak etti\u011fi h\u0131za ve g\u00fcvenli\u011fe kavu\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"WordPress-icin-Optimize-Edilmis-Sunucu-Altyapisi\"><\/span>WordPress i\u00e7in Optimize Edilmi\u015f Sunucu Altyap\u0131s\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0130HS Telekom&#8217;un sundu\u011fu <a href=\"https:\/\/www.ihs.com.tr\/web-hosting\/\" target=\"_blank\">hosting<\/a> altyap\u0131s\u0131, WordPress&#8217;in veritaban\u0131 sorgular\u0131na ve PHP i\u015flemlerine en h\u0131zl\u0131 \u015fekilde yan\u0131t verecek \u015fekilde \u00f6zel olarak yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r. LiteSpeed web sunucusu ve LSCache gibi modern teknolojiler sayesinde, yazd\u0131\u011f\u0131n\u0131z d\u00f6ng\u00fclerin ve \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z sorgular\u0131n veritaban\u0131ndan minimum gecikmeyle veri \u00e7ekmesi sa\u011flan\u0131r. Bu, \u00f6zellikle `WP_Query` gibi yo\u011fun veritaban\u0131 i\u015flemi gerektiren kodlar\u0131n performans\u0131n\u0131 do\u011frudan etkiler ve sitenizin <a href=\"https:\/\/www.ihs.com.tr\/blog\/sayfa-hizi-nedir-nasil-iyilestirilir\/\" target=\"_blank\">sayfa h\u0131z\u0131<\/a> metriklerini iyile\u015ftirir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Gelistirici-Dostu-Araclar-SSH-WP-CLI-Git\"><\/span>Geli\u015ftirici Dostu Ara\u00e7lar (SSH, WP-CLI, Git)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Tema geli\u015ftirme s\u00fcreci sadece kod yazmaktan ibaret de\u011fildir. Verimli bir i\u015f ak\u0131\u015f\u0131 i\u00e7in do\u011fru ara\u00e7lara eri\u015fim hayati \u00f6nem ta\u015f\u0131r. \u0130HS Telekom, geli\u015ftiricilere <a href=\"https:\/\/www.ihs.com.tr\/blog\/ssh-nedir\/\" target=\"_blank\">SSH<\/a> eri\u015fimi, WordPress Komut Sat\u0131r\u0131 Aray\u00fcz\u00fc (WP-CLI) ve Git versiyon kontrol sistemi gibi profesyonel ara\u00e7lar\u0131 standart olarak sunar. WP-CLI ile eklentileri g\u00fcncelleyebilir, veritaban\u0131 i\u015flemleri yapabilir ve test i\u00e7erikleri olu\u015fturabilirsiniz. Bu ara\u00e7lar, geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinizi otomatikle\u015ftirerek size zaman kazand\u0131r\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Hiz-ve-Guvenlik-Odakli-Cozumler\"><\/span>H\u0131z ve G\u00fcvenlik Odakl\u0131 \u00c7\u00f6z\u00fcmler<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Y\u00fcksek performansl\u0131 bir tema, h\u0131zl\u0131 bir <a href=\"https:\/\/www.ihs.com.tr\/sunucu-kiralama\/\" target=\"_blank\">sunucu<\/a> \u00fczerinde \u00e7al\u0131\u015f\u0131rken ayn\u0131 zamanda g\u00fcvende olmal\u0131d\u0131r. \u0130HS Telekom, g\u00fc\u00e7l\u00fc g\u00fcvenlik duvarlar\u0131 (firewall), d\u00fczenli zararl\u0131 yaz\u0131l\u0131m taramalar\u0131 ve \u00fccretsiz <a href=\"https:\/\/www.ihs.com.tr\/ssl\/\" target=\"_blank\">SSL sertifikas\u0131<\/a> gibi \u00f6zelliklerle sitenizi d\u0131\u015f tehditlere kar\u015f\u0131 korur. Geli\u015ftirdi\u011finiz temalar\u0131n ve eklentilerin, g\u00fcvenli\u011fi sa\u011flanm\u0131\u015f bir ortamda \u00e7al\u0131\u015fmas\u0131, hem sizin hem de m\u00fc\u015fterilerinizin i\u00e7inin rahat etmesini sa\u011flar. \u00d6zellikle e-ticaret siteleri gibi hassas veri i\u015fleyen projeler i\u00e7in <a href=\"https:\/\/www.ihs.com.tr\/sunucu-kiralama\/vps-server.html\" target=\"_blank\">VPS<\/a> veya <a href=\"https:\/\/www.ihs.com.tr\/sunucu-kiralama\/vds-sunucu.html\" target=\"_blank\">VDS<\/a> gibi daha izole \u00e7\u00f6z\u00fcmlerle g\u00fcvenlik en \u00fcst d\u00fczeye \u00e7\u0131kar\u0131labilir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Alaninda-Uzman-724-Teknik-Destek-Hizmeti\"><\/span>Alan\u0131nda Uzman 7\/24 Teknik Destek Hizmeti<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Geli\u015ftirme s\u00fcrecinde veya siteniz yay\u0131ndayken kar\u015f\u0131la\u015fabilece\u011finiz sunucu tarafl\u0131 sorunlarda h\u0131zl\u0131 ve yetkin bir deste\u011fe ula\u015fmak kritik olabilir. \u0130HS Telekom&#8217;un 7\/24 hizmet veren uzman teknik destek ekibi, WordPress&#8217;in teknik gereksinimlerine hakimdir. Sunucu yap\u0131land\u0131rmas\u0131, performans optimizasyonu veya olas\u0131 bir sorunun kayna\u011f\u0131n\u0131 bulma konusunda size rehberlik ederek, sizin sadece kodunuza ve projenize odaklanman\u0131z\u0131 sa\u011flar. Bir <a href=\"https:\/\/www.ihs.com.tr\/domain\/alan-adi-domain-tescili.html\" target=\"_blank\">domain<\/a> kayd\u0131ndan en karma\u015f\u0131k sunucu yap\u0131land\u0131rmas\u0131na kadar her ad\u0131mda yan\u0131n\u0131zdad\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress tabanl\u0131 bir web sitesinin temelini anlamak, onu bir araya getiren par\u00e7alar\u0131 ve bu par\u00e7alar\u0131n nas\u0131l uyum i\u00e7inde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 bilmekten ge\u00e7er. Bu&hellip;<\/p>\n","protected":false},"author":3,"featured_media":15684,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[397],"tags":[],"class_list":["post-15683","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/15683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/comments?post=15683"}],"version-history":[{"count":1,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/15683\/revisions"}],"predecessor-version":[{"id":15685,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/15683\/revisions\/15685"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/media\/15684"}],"wp:attachment":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=15683"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=15683"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=15683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}