{"id":15849,"date":"2026-06-09T18:12:06","date_gmt":"2026-06-09T15:12:06","guid":{"rendered":"https:\/\/www.ihs.com.tr\/blog\/?p=15849"},"modified":"2026-06-09T18:12:06","modified_gmt":"2026-06-09T15:12:06","slug":"functions-php-dosyasi-nedir","status":"publish","type":"post","link":"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/","title":{"rendered":"functions.php Dosyas\u0131 Nedir? Eklenti Kullanmadan Temaya \u00d6zel Fonksiyon Nas\u0131l Eklenir?"},"content":{"rendered":"<p>WordPress, esnek yap\u0131s\u0131 ve geni\u015f \u00f6zelle\u015ftirme olanaklar\u0131yla d\u00fcnya genelinde milyonlarca web sitesinin altyap\u0131s\u0131n\u0131 olu\u015fturur. Bu esnekli\u011fin temel ta\u015flar\u0131ndan biri de `functions.php` dosyas\u0131d\u0131r. \u00c7o\u011fu kullan\u0131c\u0131, sitesine yeni bir \u00f6zellik eklemek istedi\u011finde ilk olarak eklenti aray\u0131\u015f\u0131na girse de, `functions.php` dosyas\u0131, eklenti kullanmadan temaya \u00f6zel fonksiyonlar eklemenin g\u00fc\u00e7l\u00fc ve etkili bir yolunu sunar. Bu dosya, teman\u0131z\u0131n i\u015flevselli\u011fini art\u0131rmak, y\u00f6netim panelini \u00f6zelle\u015ftirmek veya WordPress \u00e7ekirde\u011finin varsay\u0131lan davran\u0131\u015flar\u0131n\u0131 de\u011fi\u015ftirmek i\u00e7in bir nevi komuta merkezi g\u00f6revi g\u00f6r\u00fcr. Bu makalede, `functions.php` dosyas\u0131n\u0131n ne oldu\u011funu, neden \u00f6nemli oldu\u011funu ve sitenizin performans\u0131n\u0131 olumsuz etkileyebilecek eklenti y\u0131\u011f\u0131n\u0131ndan ka\u00e7\u0131narak nas\u0131l g\u00fcvenli bir \u015fekilde kullan\u0131labilece\u011fini detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z.<\/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-6a28c243d2172\" 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-6a28c243d2172\" 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\/functions-php-dosyasi-nedir\/#WordPresste-functionsphp-Dosyasinin-Rolu-ve-Onemi\" >WordPress&#8217;te functions.php Dosyas\u0131n\u0131n Rol\u00fc ve \u00d6nemi<\/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\/functions-php-dosyasi-nedir\/#functionsphp-Dosyasi-Nedir\" >functions.php Dosyas\u0131 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\/functions-php-dosyasi-nedir\/#WordPress-Tema-Yapisindaki-Yeri-ve-Gorevi\" >WordPress Tema Yap\u0131s\u0131ndaki Yeri ve G\u00f6revi<\/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\/functions-php-dosyasi-nedir\/#functionsphp-Dosyasinin-Temel-Islevleri-Nelerdir\" >functions.php Dosyas\u0131n\u0131n Temel \u0130\u015flevleri Nelerdir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#functionsphp-Dosyasina-Nasil-Erisilir\" >functions.php Dosyas\u0131na Nas\u0131l Eri\u015filir?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#Neden-functionsphp-Dosyasi-Kullanilmalidir-Eklentilere-Karsi-Avantaj-ve-Dezavantajlari\" >Neden functions.php Dosyas\u0131 Kullan\u0131lmal\u0131d\u0131r? Eklentilere Kar\u015f\u0131 Avantaj ve Dezavantajlar\u0131<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#Eklenti-Kullanimi-ile-functionsphpye-Kod-Ekleme-Arasindaki-Farklar\" >Eklenti Kullan\u0131m\u0131 ile functions.php&#8217;ye Kod Ekleme Aras\u0131ndaki Farklar<\/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\/functions-php-dosyasi-nedir\/#functionsphp-Kullanmanin-Avantajlari\" >functions.php Kullanman\u0131n Avantajlar\u0131<\/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\/functions-php-dosyasi-nedir\/#functionsphp-Kullanmanin-Dezavantajlari-ve-Potansiyel-Riskleri\" >functions.php Kullanman\u0131n Dezavantajlar\u0131 ve Potansiyel Riskleri<\/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\/functions-php-dosyasi-nedir\/#Hangi-Durumda-Eklenti-Hangi-Durumda-functionsphp-Tercih-Edilmeli\" >Hangi Durumda Eklenti, Hangi Durumda functions.php Tercih Edilmeli?<\/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\/functions-php-dosyasi-nedir\/#functionsphp-Dosyasina-Guvenli-Bir-Sekilde-Fonksiyon-Ekleme-Adimlari\" >functions.php Dosyas\u0131na G\u00fcvenli Bir \u015eekilde Fonksiyon Ekleme Ad\u0131mlar\u0131<\/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\/functions-php-dosyasi-nedir\/#Duzenleme-Oncesi-Kritik-Hazirlik-ve-Guvenlik-Adimlari\" >D\u00fczenleme \u00d6ncesi Kritik Haz\u0131rl\u0131k ve G\u00fcvenlik Ad\u0131mlar\u0131<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#functionsphp-Dosyasina-Kod-Ekleme-Yontemleri\" >functions.php Dosyas\u0131na Kod Ekleme Y\u00f6ntemleri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#Kod-Ekleme-Surecinin-Incelikleri\" >Kod Ekleme S\u00fcrecinin \u0130ncelikleri<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#Pratik-Ornekler-functionsphp-ile-Neler-Yapilabilir\" >Pratik \u00d6rnekler: functions.php ile Neler Yap\u0131labilir?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#Yonetici-Paneli-Ozellestirmeleri\" >Y\u00f6netici Paneli \u00d6zelle\u015ftirmeleri<\/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\/functions-php-dosyasi-nedir\/#Icerik-ve-Gonderi-Ayarlari\" >\u0130\u00e7erik ve G\u00f6nderi Ayarlar\u0131<\/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\/functions-php-dosyasi-nedir\/#Guvenlik-ve-Performans-Iyilestirmeleri\" >G\u00fcvenlik ve Performans \u0130yile\u015ftirmeleri<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#Olasi-Hatalar-ve-Cozum-Yollari\" >Olas\u0131 Hatalar ve \u00c7\u00f6z\u00fcm Yollar\u0131<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#En-Sik-Karsilasilan-Sorun-Beyaz-Ekran-Hatasi-WSOD\" >En S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorun: Beyaz Ekran Hatas\u0131 (WSOD)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#Beyaz-Ekran-Hatasi-Nasil-Cozulur\" >Beyaz Ekran Hatas\u0131 Nas\u0131l \u00c7\u00f6z\u00fcl\u00fcr?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#PHP-Sozdizimi-Syntax-Hatalarini-Tespit-Etme-ve-Duzeltme\" >PHP S\u00f6zdizimi (Syntax) Hatalar\u0131n\u0131 Tespit Etme ve D\u00fczeltme<\/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\/functions-php-dosyasi-nedir\/#Eklenen-Fonksiyonun-Calismamasinin-Nedenleri\" >Eklenen Fonksiyonun \u00c7al\u0131\u015fmamas\u0131n\u0131n Nedenleri<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#functionsphp-Kullanimi-Icin-En-Iyi-Uygulamalar-Best-Practices\" >functions.php Kullan\u0131m\u0131 \u0130\u00e7in En \u0130yi Uygulamalar (Best Practices)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#Child-Theme-Alt-Tema-Kullanimini-Aliskanlik-Haline-Getirme\" >Child Theme (Alt Tema) Kullan\u0131m\u0131n\u0131 Al\u0131\u015fkanl\u0131k Haline Getirme<\/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\/functions-php-dosyasi-nedir\/#Eklenen-Her-Kod-Blogu-Icin-Aciklayici-Yorum-Satirlari-Kullanma\" >Eklenen Her Kod Blo\u011fu \u0130\u00e7in A\u00e7\u0131klay\u0131c\u0131 Yorum Sat\u0131rlar\u0131 Kullanma<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#Fonksiyon-Cakismalarini-Onlemek-Icin-Benzersiz-On-Ekler-Prefix-Kullanma\" >Fonksiyon \u00c7ak\u0131\u015fmalar\u0131n\u0131 \u00d6nlemek \u0130\u00e7in Benzersiz \u00d6n Ekler (Prefix) Kullanma<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#Kodlari-Mantiksal-Gruplara-Ayirarak-Duzeni-Saglama\" >Kodlar\u0131 Mant\u0131ksal Gruplara Ay\u0131rarak D\u00fczeni Sa\u011flama<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/www.ihs.com.tr\/blog\/functions-php-dosyasi-nedir\/#Guvenilir-WordPress-Hosting-ve-Tema-Yonetimi-Icin-Neden-IHS-Telekomu-Tercih-Etmelisiniz\" >G\u00fcvenilir WordPress Hosting ve Tema Y\u00f6netimi \u0130\u00e7in Neden \u0130HS Telekom&#8217;u Tercih Etmelisiniz?<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"WordPresste-functionsphp-Dosyasinin-Rolu-ve-Onemi\"><\/span>WordPress&#8217;te functions.php Dosyas\u0131n\u0131n Rol\u00fc ve \u00d6nemi<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Her WordPress temas\u0131n\u0131n kalbinde yer alan `functions.php` dosyas\u0131, sitenizin i\u015flevselli\u011fini do\u011frudan etkileyen kritik bir bile\u015fendir. Bu dosya, teman\u0131z\u0131n eklentiler gibi \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayan PHP kod par\u00e7ac\u0131klar\u0131n\u0131 bar\u0131nd\u0131r\u0131r. WordPress&#8217;in temel davran\u0131\u015flar\u0131n\u0131 de\u011fi\u015ftirmekten, yeni \u00f6zellikler eklemeye kadar geni\u015f bir yelpazede \u00f6zelle\u015ftirme imkan\u0131 sunar. Onu do\u011fru anlamak ve kullanmak, web sitenizin potansiyelini en \u00fcst d\u00fczeye \u00e7\u0131karman\u0131n anahtar\u0131d\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"functionsphp-Dosyasi-Nedir\"><\/span>functions.php Dosyas\u0131 Nedir?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>En basit tan\u0131m\u0131yla `functions.php`, aktif teman\u0131z\u0131n bir par\u00e7as\u0131 olarak \u00e7al\u0131\u015fan ve WordPress sitenize \u00f6zel fonksiyonlar, \u00f6zellikler ve kodlar eklemenize olanak tan\u0131yan bir PHP dosyas\u0131d\u0131r. WordPress bir tema y\u00fcklendi\u011finde, bu dosyay\u0131 otomatik olarak arar ve i\u00e7indeki kodlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131r. Bu sayede, sitenizin hem ziyaret\u00e7ilere g\u00f6r\u00fcnen \u00f6n y\u00fcz\u00fcnde (frontend) hem de y\u00f6netim panelinde (backend) de\u011fi\u015fiklikler yapabilirsiniz. Bir eklenti gibi \u00e7al\u0131\u015f\u0131r ancak yaln\u0131zca aktif olan temayla s\u0131n\u0131rl\u0131d\u0131r; temay\u0131 de\u011fi\u015ftirdi\u011finizde `functions.php` dosyas\u0131ndaki t\u00fcm \u00f6zel kodlar da devre d\u0131\u015f\u0131 kal\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"WordPress-Tema-Yapisindaki-Yeri-ve-Gorevi\"><\/span>WordPress Tema Yap\u0131s\u0131ndaki Yeri ve G\u00f6revi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bir WordPress temas\u0131n\u0131n dosya yap\u0131s\u0131n\u0131 inceledi\u011finizde (`wp-content\/themes\/temanizin-adi\/` dizini alt\u0131nda), `style.css`, `index.php`, `header.php`, `footer.php` gibi temel dosyalar\u0131n yan\u0131nda `functions.php` dosyas\u0131n\u0131 da bulursunuz. Bu dosyan\u0131n temel g\u00f6revi, tema \u015fablon dosyalar\u0131n\u0131 HTML ve CSS kodlar\u0131ndan ar\u0131nd\u0131rarak daha temiz ve y\u00f6netilebilir tutmakt\u0131r. Tema ile ilgili t\u00fcm mant\u0131ksal ve i\u015flevsel kodlar bu dosyada toplan\u0131r. \u00d6rne\u011fin, teman\u0131z\u0131n men\u00fcleri, \u00f6zel g\u00f6nderi t\u00fcrleri (custom post types), widget alanlar\u0131 gibi \u00f6zelliklerinin tan\u0131mlanmas\u0131 `functions.php` i\u00e7inde yap\u0131l\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"functionsphp-Dosyasinin-Temel-Islevleri-Nelerdir\"><\/span>functions.php Dosyas\u0131n\u0131n Temel \u0130\u015flevleri Nelerdir?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bu dosyan\u0131n yapabilecekleri neredeyse s\u0131n\u0131rs\u0131zd\u0131r, ancak en yayg\u0131n kullan\u0131m alanlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><b>WordPress Kancalar\u0131n\u0131 (Hooks) Kullanma:<\/b> `add_action()` ve `add_filter()` gibi fonksiyonlar arac\u0131l\u0131\u011f\u0131yla WordPress \u00e7ekirde\u011finin veya di\u011fer eklentilerin \u00e7al\u0131\u015fma \u015fekline m\u00fcdahale edebilirsiniz. \u00d6rne\u011fin, bir yaz\u0131n\u0131n i\u00e7eri\u011fine otomatik olarak bir imza eklemek veya ba\u015fl\u0131k format\u0131n\u0131 de\u011fi\u015ftirmek i\u00e7in filtreler kullanabilirsiniz.<\/li>\n<li><b>Tema \u00d6zelliklerini Aktif Etme:<\/b> \u00d6ne \u00e7\u0131kar\u0131lm\u0131\u015f g\u00f6rseller, \u00f6zel logolar, men\u00fcler ve widget&#8217;lar gibi WordPress \u00f6zelliklerini teman\u0131z i\u00e7in `add_theme_support()` fonksiyonu ile aktif hale getirebilirsiniz.<\/li>\n<li><b>CSS ve JavaScript Dosyalar\u0131n\u0131 Ekleme:<\/b> `wp_enqueue_style()` ve `wp_enqueue_script()` fonksiyonlar\u0131, stil ve betik dosyalar\u0131n\u0131z\u0131 WordPress standartlar\u0131na uygun ve performansl\u0131 bir \u015fekilde sitenize dahil etmenizi sa\u011flar.<\/li>\n<li><b>\u00d6zel G\u00f6nderi T\u00fcrleri ve Taksonomiler Olu\u015fturma:<\/b> &#8220;Portfolyo&#8221;, &#8220;\u00dcr\u00fcnler&#8221; veya &#8220;Etkinlikler&#8221; gibi standart &#8220;Yaz\u0131&#8221; ve &#8220;Sayfa&#8221; d\u0131\u015f\u0131nda i\u00e7erik t\u00fcrleri olu\u015fturmak i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><b>K\u0131sa Kodlar (Shortcodes) Yaratma:<\/b> Karma\u015f\u0131k HTML veya PHP kodlar\u0131n\u0131, i\u00e7erik edit\u00f6r\u00fcnde `[benim_kisakodum]` gibi basit bir etiketle \u00e7a\u011fr\u0131labilir hale getirebilirsiniz.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"functionsphp-Dosyasina-Nasil-Erisilir\"><\/span>functions.php Dosyas\u0131na Nas\u0131l Eri\u015filir?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bu dosyay\u0131 d\u00fczenlemek i\u00e7in birka\u00e7 farkl\u0131 y\u00f6ntem bulunmaktad\u0131r. Y\u00f6ntem se\u00e7imi, teknik bilginize ve g\u00fcvenlik tercihlerinize ba\u011fl\u0131d\u0131r.<\/p>\n<h4>WordPress Y\u00f6netici Paneli \u00dczerinden<\/h4>\n<p>En kolay ancak en riskli y\u00f6ntemdir. WordPress y\u00f6netici panelinizde <b>G\u00f6r\u00fcn\u00fcm > Tema Dosyas\u0131 D\u00fczenleyicisi<\/b> men\u00fcs\u00fcne giderek sa\u011f taraftaki listeden &#8220;Tema Fonksiyonlar\u0131 (functions.php)&#8221; dosyas\u0131n\u0131 se\u00e7ebilirsiniz. Yapaca\u011f\u0131n\u0131z en k\u00fc\u00e7\u00fck bir yaz\u0131m hatas\u0131 sitenizin tamamen \u00e7\u00f6kmesine (beyaz ekran hatas\u0131) neden olabilir ve bu durumda panele tekrar eri\u015femeyebilirsiniz. Bu nedenle bu y\u00f6ntem genellikle \u00f6nerilmez.<\/p>\n<h4>FTP veya SFTP \u0130stemcisi ile<\/h4>\n<p>En g\u00fcvenli ve profesyonel y\u00f6ntemlerden biridir. FileZilla gibi bir <a href=\"https:\/\/www.ihs.com.tr\/blog\/en-iyi-8-ftp-programi\/\" target=\"_blank\">FTP<\/a> istemcisi kullanarak sunucunuza ba\u011flanabilirsiniz. Sitenizin k\u00f6k dizininde `wp-content\/themes\/aktif-temanizin-adi\/` yolunu izleyerek `functions.php` dosyas\u0131n\u0131 bulabilir, bilgisayar\u0131n\u0131za indirip bir metin d\u00fczenleyici ile g\u00fcvenli bir \u015fekilde d\u00fczenledikten sonra tekrar sunucuya y\u00fckleyebilirsiniz.<\/p>\n<h4>Hosting Kontrol Paneli (cPanel, Plesk vb.) Dosya Y\u00f6neticisi ile<\/h4>\n<p>E\u011fer bir FTP istemcisi kullanmak istemiyorsan\u0131z, <a href=\"https:\/\/www.ihs.com.tr\/web-hosting\/\" target=\"_blank\">hosting<\/a> firman\u0131z\u0131n sa\u011flad\u0131\u011f\u0131 kontrol paneli (cPanel, Plesk gibi) i\u00e7indeki &#8220;Dosya Y\u00f6neticisi&#8221; arac\u0131n\u0131 kullanabilirsiniz. Bu aray\u00fcz, web tabanl\u0131 bir dosya gezgini sunar. Yine `wp-content\/themes\/aktif-temanizin-adi\/` dizinine giderek `functions.php` dosyas\u0131n\u0131 do\u011frudan sunucu \u00fczerinde d\u00fczenleyebilirsiniz. Bu y\u00f6ntem, FTP&#8217;ye g\u00f6re biraz daha pratiktir ancak yine de dikkatli olmay\u0131 gerektirir.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Neden-functionsphp-Dosyasi-Kullanilmalidir-Eklentilere-Karsi-Avantaj-ve-Dezavantajlari\"><\/span>Neden functions.php Dosyas\u0131 Kullan\u0131lmal\u0131d\u0131r? Eklentilere Kar\u015f\u0131 Avantaj ve Dezavantajlar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WordPress&#8217;e yeni bir i\u015flevsellik kazand\u0131rmak istedi\u011finizde kar\u015f\u0131n\u0131za iki temel se\u00e7enek \u00e7\u0131kar: haz\u0131r bir eklenti kurmak veya `functions.php` dosyas\u0131na \u00f6zel kod eklemek. Her iki y\u00f6ntemin de kendine \u00f6zg\u00fc avantajlar\u0131 ve dezavantajlar\u0131 vard\u0131r. Do\u011fru karar\u0131 vermek, projenizin ihtiya\u00e7lar\u0131na, performans hedeflerinize ve teknik yeterlili\u011finize ba\u011fl\u0131d\u0131r. Bu b\u00f6l\u00fcmde, iki yakla\u015f\u0131m aras\u0131ndaki farklar\u0131 inceleyerek hangi durumda hangisinin daha uygun oldu\u011funu anlaman\u0131za yard\u0131mc\u0131 olaca\u011f\u0131z.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Eklenti-Kullanimi-ile-functionsphpye-Kod-Ekleme-Arasindaki-Farklar\"><\/span>Eklenti Kullan\u0131m\u0131 ile functions.php&#8217;ye Kod Ekleme Aras\u0131ndaki Farklar<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Temel fark, kodun nerede ve nas\u0131l y\u00f6netildi\u011fidir. Eklentiler, kendi klas\u00f6r yap\u0131lar\u0131 i\u00e7inde ba\u011f\u0131ms\u0131z olarak \u00e7al\u0131\u015fan paketlerdir. Genellikle bir kullan\u0131c\u0131 aray\u00fcz\u00fc sunarlar ve WordPress y\u00f6netici panelinden kolayca kurulabilir, etkinle\u015ftirilebilir veya kald\u0131r\u0131labilirler. `functions.php`&#8217;ye eklenen kodlar ise do\u011frudan teman\u0131z\u0131n bir par\u00e7as\u0131 haline gelir ve y\u00f6netimi tamamen manuel olarak yap\u0131l\u0131r. Bu iki yakla\u015f\u0131m\u0131 daha net anlamak i\u00e7in bir kar\u015f\u0131la\u015ft\u0131rma tablosu faydal\u0131 olacakt\u0131r.<\/p>\n<div class=\"karsilastirma\">\n<table>\n<thead>\n<tr>\n<th>\u00d6zellik<\/th>\n<th>functions.php Dosyas\u0131<\/th>\n<th>Eklenti Kullan\u0131m\u0131<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><b>Performans<\/b><\/td>\n<td>Genellikle daha h\u0131zl\u0131d\u0131r, \u00e7\u00fcnk\u00fc sadece ihtiya\u00e7 duyulan kod \u00e7al\u0131\u015f\u0131r.<\/td>\n<td>K\u00f6t\u00fc kodlanm\u0131\u015f veya \u00e7ok \u00f6zellikli eklentiler siteyi yava\u015flatabilir.<\/td>\n<\/tr>\n<tr>\n<td><b>Kontrol<\/b><\/td>\n<td>Kod \u00fczerinde tam ve mutlak kontrol sa\u011flar.<\/td>\n<td>Yaln\u0131zca eklentinin sundu\u011fu ayarlar ve se\u00e7eneklerle s\u0131n\u0131rl\u0131d\u0131r.<\/td>\n<\/tr>\n<tr>\n<td><b>Kullan\u0131m Kolayl\u0131\u011f\u0131<\/b><\/td>\n<td>PHP bilgisi ve kodlama tecr\u00fcbesi gerektirir.<\/td>\n<td>Teknik bilgi gerektirmez, genellikle birka\u00e7 t\u0131klama ile kurulur.<\/td>\n<\/tr>\n<tr>\n<td><b>G\u00fcncelleme ve Bak\u0131m<\/b><\/td>\n<td>Tema g\u00fcncellemelerinde kodlar\u0131n kaybolma riski vard\u0131r (Child Theme kullan\u0131lmazsa). Manuel bak\u0131m gerektirir.<\/td>\n<td>Eklenti geli\u015ftiricisi taraf\u0131ndan g\u00fcncellenir, genellikle otomatik g\u00fcncelleme se\u00e7ene\u011fi bulunur.<\/td>\n<\/tr>\n<tr>\n<td><b>G\u00fcvenlik<\/b><\/td>\n<td>Yazd\u0131\u011f\u0131n\u0131z kodun g\u00fcvenli\u011finden siz sorumlusunuz.<\/td>\n<td>G\u00fcvenilir olmayan kaynaklardan indirilen eklentiler g\u00fcvenlik a\u00e7\u0131\u011f\u0131 olu\u015fturabilir.<\/td>\n<\/tr>\n<tr>\n<td><b>Ta\u015f\u0131nabilirlik<\/b><\/td>\n<td>Kodlar temaya ba\u011fl\u0131d\u0131r. Tema de\u011fi\u015ftirilince i\u015flevsellik kaybolur.<\/td>\n<td>Temadan ba\u011f\u0131ms\u0131zd\u0131r. Farkl\u0131 temalarla da \u00e7al\u0131\u015fmaya devam eder.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"functionsphp-Kullanmanin-Avantajlari\"><\/span>functions.php Kullanman\u0131n Avantajlar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Basit ve hedefe y\u00f6nelik i\u015flevler i\u00e7in `functions.php` kullanmak, siteniz i\u00e7in \u00f6nemli faydalar sa\u011flayabilir.<\/p>\n<h4>Performans ve Site H\u0131z\u0131 \u00dczerindeki Etkisi<\/h4>\n<p>Her eklenen eklenti, kendi stil dosyalar\u0131n\u0131, scriptlerini ve veritaban\u0131 sorgular\u0131n\u0131 beraberinde getirir. K\u00fc\u00e7\u00fck bir i\u015flev i\u00e7in (\u00f6rne\u011fin, WordPress s\u00fcr\u00fcm bilgisini gizlemek) tam te\u015fekk\u00fcll\u00fc bir eklenti kurmak, gereksiz yere sitenize y\u00fck bindirir. `functions.php`&#8217;ye ekleyece\u011finiz birka\u00e7 sat\u0131r kod ise ayn\u0131 i\u015fi \u00e7ok daha az kaynak kullanarak, daha h\u0131zl\u0131 bir \u015fekilde yapar. Bu, \u00f6zellikle <a href=\"https:\/\/www.ihs.com.tr\/blog\/sayfa-hizi-nedir-nasil-iyilestirilir\/\" target=\"_blank\">sayfa h\u0131z\u0131<\/a> ve kullan\u0131c\u0131 deneyimi i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h4>Daha Az Kaynak T\u00fcketimi ve \u015ei\u015fkinli\u011fin (Bloat) \u00d6nlenmesi<\/h4>\n<p>Eklentiler genellikle bir\u00e7ok farkl\u0131 senaryoyu kapsayacak \u015fekilde geli\u015ftirilir ve ihtiyac\u0131n\u0131z olmayan onlarca \u00f6zellik i\u00e7erebilir. Bu &#8220;\u015fi\u015fkinlik&#8221; (bloat), sunucu kaynaklar\u0131n\u0131n (CPU, RAM) gereksiz yere t\u00fcketilmesine ve sitenizin yava\u015flamas\u0131na neden olur. `functions.php` ile sadece ihtiyac\u0131n\u0131z olan kodu ekleyerek sitenizi hafif ve \u00e7evik tutabilirsiniz. Bu, \u00f6zellikle kaynaklar\u0131 s\u0131n\u0131rl\u0131 olan <a href=\"https:\/\/www.ihs.com.tr\/blog\/paylasimli-hosting-nedir\/\" target=\"_blank\">payla\u015f\u0131ml\u0131 hosting<\/a> ortamlar\u0131nda b\u00fcy\u00fck bir avantajd\u0131r.<\/p>\n<h4>Tam Kontrol ve \u00d6zelle\u015ftirme Esnekli\u011fi<\/h4>\n<p>Bir eklenti kulland\u0131\u011f\u0131n\u0131zda, onun geli\u015ftiricisinin belirledi\u011fi s\u0131n\u0131rlar i\u00e7inde kalmak zorundas\u0131n\u0131zd\u0131r. `functions.php` ise size mutlak bir \u00f6zg\u00fcrl\u00fck sunar. Kodu istedi\u011finiz gibi de\u011fi\u015ftirebilir, mevcut fonksiyonlar\u0131 geni\u015fletebilir veya tamamen s\u0131f\u0131rdan kendi \u00e7\u00f6z\u00fcm\u00fcn\u00fcz\u00fc yaratabilirsiniz. Bu, projenizin benzersiz gereksinimlerini kar\u015f\u0131lamak i\u00e7in tam kontrol ve esneklik sa\u011flar.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"functionsphp-Kullanmanin-Dezavantajlari-ve-Potansiyel-Riskleri\"><\/span>functions.php Kullanman\u0131n Dezavantajlar\u0131 ve Potansiyel Riskleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bu g\u00fc\u00e7l\u00fc arac\u0131n yanl\u0131\u015f kullan\u0131m\u0131, ciddi sorunlara yol a\u00e7abilir.<\/p>\n<h4>Tema G\u00fcncellemelerinde Kodlar\u0131n Kaybolma Riski<\/h4>\n<p>En s\u0131k yap\u0131lan hatalardan biri, de\u011fi\u015fiklikleri do\u011frudan ana teman\u0131n (parent theme) `functions.php` dosyas\u0131na yapmakt\u0131r. Teman\u0131za bir g\u00fcncelleme geldi\u011finde ve bu g\u00fcncellemeyi y\u00fckledi\u011finizde, WordPress eski tema dosyalar\u0131n\u0131 yenileriyle de\u011fi\u015ftirir. Bu s\u00fcre\u00e7te `functions.php` dosyan\u0131z\u0131n \u00fczerine yaz\u0131l\u0131r ve ekledi\u011finiz t\u00fcm \u00f6zel kodlar kal\u0131c\u0131 olarak kaybolur. Bu riskten ka\u00e7\u0131nman\u0131n tek yolu, bir &#8220;Child Theme&#8221; (Alt Tema) kullanmakt\u0131r.<\/p>\n<h4>Hatal\u0131 Kod Yaz\u0131m\u0131n\u0131n Siteyi Bozma \u0130htimali (Beyaz Ekran Hatas\u0131)<\/h4>\n<p>PHP kodunda unutulan bir noktal\u0131 virg\u00fcl veya yanl\u0131\u015f kapat\u0131lm\u0131\u015f bir parantez gibi k\u00fc\u00e7\u00fck bir s\u00f6zdizimi (syntax) hatas\u0131 bile sitenizin tamamen eri\u015filemez hale gelmesine neden olabilir. Bu durum, &#8220;Beyaz Ekran Hatas\u0131&#8221; (White Screen of Death &#8211; WSOD) olarak bilinir. Bu hatay\u0131 ald\u0131\u011f\u0131n\u0131zda WordPress y\u00f6netim paneline eri\u015femezsiniz ve sorunu \u00e7\u00f6zmek i\u00e7in dosyaya FTP veya dosya y\u00f6neticisi ile m\u00fcdahale etmeniz gerekir.<\/p>\n<h4>Kod Y\u00f6netiminin Zorla\u015fmas\u0131<\/h4>\n<p>Zamanla `functions.php` dosyas\u0131na onlarca farkl\u0131 kod par\u00e7ac\u0131\u011f\u0131 ekledi\u011finizde, bu dosya karma\u015f\u0131k ve y\u00f6netilmesi zor bir hale gelebilir. Hangi kodun ne i\u015fe yarad\u0131\u011f\u0131n\u0131 takip etmek, hata ay\u0131klamak veya gelecekte de\u011fi\u015fiklik yapmak zorla\u015f\u0131r. Bu nedenle, eklenen her kod blo\u011funu yorum sat\u0131rlar\u0131 ile a\u00e7\u0131klamak ve kodlar\u0131 mant\u0131ksal gruplara ay\u0131rmak iyi bir al\u0131\u015fkanl\u0131kt\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Hangi-Durumda-Eklenti-Hangi-Durumda-functionsphp-Tercih-Edilmeli\"><\/span>Hangi Durumda Eklenti, Hangi Durumda functions.php Tercih Edilmeli?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Do\u011fru se\u00e7imi yapmak i\u00e7in projenizin kapsam\u0131n\u0131 ve ihtiya\u00e7lar\u0131n\u0131 de\u011ferlendirmeniz gerekir.<\/p>\n<div class=\"karsilastirma\">\n<table>\n<thead>\n<tr>\n<th>Senaryo<\/th>\n<th>\u00d6nerilen Y\u00f6ntem<\/th>\n<th>Gerek\u00e7e<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><b>Basit ve tekil bir i\u015flev<\/b> (\u00d6rn: giri\u015f logosunu de\u011fi\u015ftirmek)<\/td>\n<td><b>functions.php<\/b><\/td>\n<td>Birka\u00e7 sat\u0131r kod ile halledilebilir, eklenti kurmak gereksiz y\u00fck olu\u015fturur.<\/td>\n<\/tr>\n<tr>\n<td><b>Karma\u015f\u0131k ve \u00e7ok \u00f6zellikli bir sistem<\/b> (\u00d6rn: SEO y\u00f6netimi, e-ticaret)<\/td>\n<td><b>Eklenti<\/b><\/td>\n<td>Bu t\u00fcr sistemler karma\u015f\u0131k kod yap\u0131s\u0131, d\u00fczenli g\u00fcncellemeler ve destek gerektirir. S\u0131f\u0131rdan yazmak pratik de\u011fildir.<\/td>\n<\/tr>\n<tr>\n<td><b>Temadan ba\u011f\u0131ms\u0131z olmas\u0131 gereken bir \u00f6zellik<\/b><\/td>\n<td><b>Eklenti<\/b><\/td>\n<td>Teman\u0131z\u0131 ileride de\u011fi\u015ftirme ihtimaliniz varsa, e-geli\u015ftirdi\u011finiz i\u015flevselli\u011fin kaybolmamas\u0131 i\u00e7in eklenti kullanmal\u0131s\u0131n\u0131z.<\/td>\n<\/tr>\n<tr>\n<td><b>Performans\u0131n en \u00f6ncelikli oldu\u011fu durumlar<\/b><\/td>\n<td><b>functions.php<\/b><\/td>\n<td>Minimum kaynak t\u00fcketimi ile maksimum h\u0131z sa\u011flamak i\u00e7in hedefe y\u00f6nelik kod eklemek en iyisidir.<\/td>\n<\/tr>\n<tr>\n<td><b>Kodlama bilgisi olmayan kullan\u0131c\u0131lar<\/b><\/td>\n<td><b>Eklenti<\/b><\/td>\n<td>Eklentiler, kod yazmadan, kullan\u0131c\u0131 dostu aray\u00fczler \u00fczerinden \u00f6zellik eklemeyi m\u00fcmk\u00fcn k\u0131lar.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"functionsphp-Dosyasina-Guvenli-Bir-Sekilde-Fonksiyon-Ekleme-Adimlari\"><\/span>functions.php Dosyas\u0131na G\u00fcvenli Bir \u015eekilde Fonksiyon Ekleme Ad\u0131mlar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>`functions.php` dosyas\u0131na m\u00fcdahale etmek, WordPress sitenizi \u00f6zelle\u015ftirmenin en g\u00fc\u00e7l\u00fc yollar\u0131ndan biridir, ancak ayn\u0131 zamanda potansiyel riskler de bar\u0131nd\u0131r\u0131r. Tek bir hatal\u0131 karakter sitenizi eri\u015filemez k\u0131labilir. Bu nedenle, bu dosyay\u0131 d\u00fczenlemeden \u00f6nce belirli haz\u0131rl\u0131k ve g\u00fcvenlik ad\u0131mlar\u0131n\u0131 titizlikle uygulamak hayati \u00f6nem ta\u015f\u0131r. Bu b\u00f6l\u00fcmde, s\u00fcreci ba\u015ftan sona g\u00fcvenli bir \u015fekilde nas\u0131l y\u00f6netece\u011finizi ad\u0131m ad\u0131m anlataca\u011f\u0131z.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Duzenleme-Oncesi-Kritik-Hazirlik-ve-Guvenlik-Adimlari\"><\/span>D\u00fczenleme \u00d6ncesi Kritik Haz\u0131rl\u0131k ve G\u00fcvenlik Ad\u0131mlar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Kod yazmaya ba\u015flamadan \u00f6nce atman\u0131z gereken \u00fc\u00e7 kritik ad\u0131m vard\u0131r. Bu ad\u0131mlar\u0131 atlamak, olas\u0131 bir hatada geri d\u00f6n\u00fclmez sonu\u00e7lara yol a\u00e7abilir.<\/p>\n<h4>Web Sitesinin Tam Yede\u011fini Alma<\/h4>\n<p>Bu, en \u00f6nemli ve asla atlanmamas\u0131 gereken ad\u0131md\u0131r. `functions.php` dosyas\u0131n\u0131 d\u00fczenlemeden \u00f6nce web sitenizin hem dosyalar\u0131n\u0131n hem de veritaban\u0131n\u0131n tam bir yede\u011fini al\u0131n. Hosting sa\u011flay\u0131c\u0131n\u0131z\u0131n kontrol paneli (cPanel, Plesk vb.) \u00fczerinden veya UpdraftPlus, Duplicator gibi pop\u00fcler <a href=\"https:\/\/www.ihs.com.tr\/blog\/wordpress-site-yedekleme\/\" target=\"_blank\">yedekleme eklentileri<\/a> arac\u0131l\u0131\u011f\u0131yla bu i\u015flemi kolayca yapabilirsiniz. Bir \u015feyler ters giderse, bu yedek sayesinde sitenizi saniyeler i\u00e7inde eski, \u00e7al\u0131\u015fan haline geri d\u00f6nd\u00fcrebilirsiniz.<\/p>\n<h4>Child Theme (Alt Tema) Olu\u015fturma ve Kullanman\u0131n \u00d6nemi<\/h4>\n<p>Daha \u00f6nce de belirtti\u011fimiz gibi, ana teman\u0131n `functions.php` dosyas\u0131na do\u011frudan kod eklemek b\u00fcy\u00fck bir hatad\u0131r. Ana tema g\u00fcncellendi\u011finde t\u00fcm de\u011fi\u015fiklikleriniz silinir. Bunu \u00f6nlemek i\u00e7in bir <a href=\"https:\/\/www.ihs.com.tr\/blog\/child-theme-alt-tema-nedir-ve-neden-her-wordpress-kullanicisi-olusturmali\/\" target=\"_blank\">Child Theme (Alt Tema)<\/a> kullanmal\u0131s\u0131n\u0131z. Alt tema, ana teman\u0131n t\u00fcm stil ve fonksiyonlar\u0131n\u0131 miras al\u0131r, ancak yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fiklikleri ayr\u0131 dosyalarda tutar. Bu sayede, ana temay\u0131 g\u00fcvenle g\u00fcncelleyebilirken, `functions.php`&#8217;ye ekledi\u011finiz \u00f6zel kodlar ve di\u011fer \u00f6zelle\u015ftirmeleriniz korunur.<\/p>\n<h4>Hata Ay\u0131klama (Debugging) Modunu Aktif Etme<\/h4>\n<p>WordPress&#8217;in yerle\u015fik bir hata ay\u0131klama modu vard\u0131r. Bu modu aktif etti\u011finizde, sitenizde bir PHP hatas\u0131 olu\u015fursa, beyaz bir ekran yerine hatan\u0131n ne oldu\u011funu, hangi dosyada ve hangi sat\u0131rda meydana geldi\u011fini belirten a\u00e7\u0131klay\u0131c\u0131 bir mesaj g\u00f6r\u00fcrs\u00fcn\u00fcz. Bu, sorunu tespit etmeyi ve \u00e7\u00f6zmeyi \u00e7ok daha kolayla\u015ft\u0131r\u0131r. Hata ay\u0131klama modunu aktif etmek i\u00e7in, sitenizin k\u00f6k dizinindeki `wp-config.php` dosyas\u0131n\u0131 a\u00e7\u0131n ve `define( &#8216;WP_DEBUG&#8217;, false );` sat\u0131r\u0131n\u0131 `define( &#8216;WP_DEBUG&#8217;, true );` olarak de\u011fi\u015ftirin. Sorunu \u00e7\u00f6zd\u00fckten sonra bu ayar\u0131 tekrar `false` yapmay\u0131 unutmay\u0131n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"functionsphp-Dosyasina-Kod-Ekleme-Yontemleri\"><\/span>functions.php Dosyas\u0131na Kod Ekleme Y\u00f6ntemleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Haz\u0131rl\u0131k ad\u0131mlar\u0131n\u0131 tamamlad\u0131ktan sonra, dosyay\u0131 d\u00fczenlemek i\u00e7in en uygun y\u00f6ntemi se\u00e7ebilirsiniz.<\/p>\n<h4>WordPress Tema Dosyas\u0131 D\u00fczenleyicisini Kullanma (\u00d6nerilmez)<\/h4>\n<p>WordPress paneli \u00fczerinden <b>G\u00f6r\u00fcn\u00fcm > Tema Dosyas\u0131 D\u00fczenleyicisi<\/b> yolunu izleyerek dosyay\u0131 d\u00fczenleyebilirsiniz. Ancak bu y\u00f6ntem, bir hata yapt\u0131\u011f\u0131n\u0131zda sitenizi kilitleme riski ta\u015f\u0131d\u0131\u011f\u0131 i\u00e7in acemiler i\u00e7in kesinlikle \u00f6nerilmez. E\u011fer bu y\u00f6ntemi kullanmakta \u0131srarc\u0131ysan\u0131z, ekleyece\u011finiz kodu \u00f6nce bir metin edit\u00f6r\u00fcnde test etti\u011finizden ve bir yede\u011finiz oldu\u011fundan emin olun.<\/p>\n<h4>FTP \u0130stemcisi ile Dosyay\u0131 \u0130ndirip D\u00fczenleme (G\u00fcvenli Y\u00f6ntem)<\/h4>\n<p>Bu, en \u00e7ok tavsiye edilen y\u00f6ntemdir. FileZilla gibi bir istemci ile sunucunuza ba\u011flan\u0131n. `wp-content\/themes\/alt-temanizin-adi\/` klas\u00f6r\u00fcne gidin ve `functions.php` dosyas\u0131n\u0131 bilgisayar\u0131n\u0131za indirin. Dosyay\u0131 Notepad++, Sublime Text veya VS Code gibi bir kod d\u00fczenleyici ile a\u00e7\u0131n. De\u011fi\u015fikliklerinizi yap\u0131p kaydettikten sonra, dosyay\u0131 tekrar ayn\u0131 konuma y\u00fckleyerek eskisinin \u00fczerine yaz\u0131n. Bu y\u00f6ntem, hata yapman\u0131z durumunda orijinal dosyay\u0131 kolayca geri y\u00fcklemenize olanak tan\u0131r.<\/p>\n<h4>Hosting Paneli Dosya Y\u00f6neticisi ile D\u00fczenleme (G\u00fcvenli Y\u00f6ntem)<\/h4>\n<p>cPanel veya Plesk gibi hosting kontrol panellerinin sundu\u011fu Dosya Y\u00f6neticisi de g\u00fcvenli bir alternatiftir. FTP istemcisine benzer \u015fekilde \u00e7al\u0131\u015f\u0131r. \u0130lgili klas\u00f6re giderek `functions.php` dosyas\u0131n\u0131 se\u00e7ip &#8220;D\u00fczenle&#8221; butonuna t\u0131klayarak kodu do\u011frudan taray\u0131c\u0131 \u00fczerinden d\u00fczenleyebilirsiniz. De\u011fi\u015fiklikleri kaydetmeden \u00f6nce orijinal kodun bir kopyas\u0131n\u0131 alman\u0131zda fayda vard\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kod-Ekleme-Surecinin-Incelikleri\"><\/span>Kod Ekleme S\u00fcrecinin \u0130ncelikleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Kodu dosyaya eklerken dikkat etmeniz gereken baz\u0131 temel PHP kurallar\u0131 vard\u0131r.<\/p>\n<h4>PHP A\u00e7\u0131l\u0131\u015f ve Kapan\u0131\u015f Etiketlerinin Do\u011fru Kullan\u0131m\u0131<\/h4>\n<p>`functions.php` dosyas\u0131 bir PHP dosyas\u0131d\u0131r ve genellikle `<?php` ile ba\u015flar. E\u011fer dosyan\u0131n sonunda `?>` kapan\u0131\u015f etiketi varsa, kodunuzu bu etiketten *\u00f6nce* eklemelisiniz. Ancak WordPress en iyi uygulamalar\u0131na g\u00f6re, dosyan\u0131n sonunda PHP kapan\u0131\u015f etiketinin olmamas\u0131 \u00f6nerilir. Bu, dosyan\u0131n sonuna yanl\u0131\u015fl\u0131kla eklenebilecek bo\u015fluklar\u0131n &#8220;headers already sent&#8221; hatas\u0131na neden olmas\u0131n\u0131 engeller. E\u011fer dosyan\u0131z\u0131n sonunda `?>` etiketi yoksa, kodunuzu do\u011frudan dosyan\u0131n en sonuna ekleyebilirsiniz.<\/p>\n<h4>Kodlar\u0131n Nereye Eklenece\u011fi<\/h4>\n<p>Genel kural, yeni fonksiyonlar\u0131n\u0131z\u0131 dosyan\u0131n en sonuna eklemektir. Bu, dosyan\u0131n orijinal i\u00e7eri\u011fini koruman\u0131za ve kendi eklemelerinizi daha kolay bulman\u0131za yard\u0131mc\u0131 olur. Mevcut bir fonksiyonun i\u00e7ine kod eklememeye \u00f6zen g\u00f6sterin, bu genellikle beklenmedik hatalara yol a\u00e7ar.<\/p>\n<h4>De\u011fi\u015fiklikleri Kaydetme ve Siteyi Test Etme<\/h4>\n<p>Kodunuzu ekleyip dosyay\u0131 kaydettikten sonra hemen sitenizi test edin. Sitenizin ana sayfas\u0131n\u0131, bir blog yaz\u0131s\u0131n\u0131 ve y\u00f6netim panelinin birka\u00e7 sayfas\u0131n\u0131 yenileyerek her \u015feyin yolunda oldu\u011fundan emin olun. Ekledi\u011finiz fonksiyonun beklendi\u011fi gibi \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin. Herhangi bir hata veya beklenmedik bir davran\u0131\u015fla kar\u015f\u0131la\u015f\u0131rsan\u0131z, yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikli\u011fi hemen geri al\u0131n.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Pratik-Ornekler-functionsphp-ile-Neler-Yapilabilir\"><\/span>Pratik \u00d6rnekler: functions.php ile Neler Yap\u0131labilir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>`functions.php` dosyas\u0131n\u0131n teorik \u00f6nemini anlad\u0131ktan sonra, bu g\u00fcc\u00fc prati\u011fe d\u00f6kme zaman\u0131 geldi. Bu dosya, k\u00fc\u00e7\u00fck dokunu\u015flarla kullan\u0131c\u0131 deneyimini iyile\u015ftirmekten, sitenizin g\u00fcvenli\u011fini art\u0131rmaya kadar \u00e7ok \u00e7e\u015fitli \u00f6zelle\u015ftirmeler yapman\u0131za olanak tan\u0131r. \u0130\u015fte `functions.php` dosyas\u0131na ekleyebilece\u011finiz, hem yeni ba\u015flayanlar hem de deneyimli kullan\u0131c\u0131lar i\u00e7in faydal\u0131 olacak baz\u0131 pratik kod \u00f6rnekleri. Unutmay\u0131n, bu kodlar\u0131 eklerken her zaman bir alt tema (child theme) kullanmal\u0131s\u0131n\u0131z.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Yonetici-Paneli-Ozellestirmeleri\"><\/span>Y\u00f6netici Paneli \u00d6zelle\u015ftirmeleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>WordPress y\u00f6netici paneli, sitenizin komuta merkezidir. Buray\u0131 kendi markan\u0131za veya tercihlerinize g\u00f6re \u00f6zelle\u015ftirmek, hem daha profesyonel bir g\u00f6r\u00fcn\u00fcm sunar hem de kullan\u0131m kolayl\u0131\u011f\u0131 sa\u011flar.<\/p>\n<h4>WordPress Giri\u015f Logosunu De\u011fi\u015ftirme<\/h4>\n<p>Varsay\u0131lan WordPress logosu yerine kendi logonuzu g\u00f6stermek, markala\u015fma a\u00e7\u0131s\u0131ndan harika bir ad\u0131md\u0131r. Logonuzu Medya K\u00fct\u00fcphanesi&#8217;ne y\u00fckleyin ve URL&#8217;sini al\u0131n. Ard\u0131ndan a\u015fa\u011f\u0131daki kodu `functions.php` dosyan\u0131za ekleyin.<\/p>\n<p><b>\u00d6rnek Kod:<\/b> `function ozel_giris_logosu() { echo &#8216;<\/p>\n<style type=\"text\/css\"> #login h1 a,.login h1 a{background-image:url(BURAYA_LOGO_URLSI_GELECEK);height:100px;width:300px;background-size:300px 100px;background-repeat:no-repeat;padding-bottom:30px}<\/style>\n<p>&#8216;; } add_action( &#8216;login_enqueue_scripts&#8217;, &#8216;ozel_giris_logosu&#8217; );`<\/p>\n<h4>Y\u00f6netici Paneli Alt Bilgisini (Footer) D\u00fczenleme<\/h4>\n<p>Y\u00f6netici panelinin en alt\u0131nda yer alan &#8220;WordPress ile olu\u015fturdu\u011funuz i\u00e7in te\u015fekk\u00fcrler.&#8221; metnini de\u011fi\u015ftirebilir, buraya kendi sitenizin veya \u015firketinizin linkini ekleyebilirsiniz.<\/p>\n<p><b>\u00d6rnek Kod:<\/b> `function ozel_admin_footeri() { echo &#8216;Siteniz <a href=\"https:\/\/www.siteniz.com\" target=\"_blank\" rel=\"nofollow\">\u015eirket Ad\u0131<\/a> taraf\u0131ndan y\u00f6netilmektedir.&#8217;; } add_filter(&#8216;admin_footer_text&#8217;, &#8216;ozel_admin_footeri&#8217;);`<\/p>\n<h4>Kontrol Paneline (Dashboard) \u00d6zel Bilgi Kutucu\u011fu Ekleme<\/h4>\n<p>Y\u00f6netici panelinin ba\u015flang\u0131\u00e7 ekran\u0131na (Dashboard), kendiniz veya m\u00fc\u015fterileriniz i\u00e7in \u00f6nemli notlar, duyurular veya faydal\u0131 linkler i\u00e7eren \u00f6zel bir kutucuk (widget) ekleyebilirsiniz.<\/p>\n<p><b>\u00d6rnek Kod:<\/b> `function ozel_dashboard_widgeti() { wp_add_dashboard_widget(&#8216;ozel_yardim_widgeti&#8217;, &#8216;H\u0131zl\u0131 Eri\u015fim ve Notlar&#8217;, &#8216;ozel_dashboard_widget_icerigi&#8217;); } add_action(&#8216;wp_dashboard_setup&#8217;, &#8216;ozel_dashboard_widgeti&#8217;); function ozel_dashboard_widget_icerigi() { echo &#8216;<\/p>\n<p>Merhaba! Sitenizde d\u00fczenleme yapmadan \u00f6nce yedek almay\u0131 unutmay\u0131n. Faydal\u0131 linkler:<\/p>\n<ul>\n<li><a href=\"#\" target=\"_blank\" rel=\"nofollow\">Google Analytics<\/a><\/li>\n<li><a href=\"#\" target=\"_blank\" rel=\"nofollow\">Destek Talebi<\/a><\/li>\n<\/ul>\n<p>&#8216;; }`<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Icerik-ve-Gonderi-Ayarlari\"><\/span>\u0130\u00e7erik ve G\u00f6nderi Ayarlar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0130\u00e7eriklerinizin sunum \u015feklini ve y\u00f6netimini kolayla\u015ft\u0131ran k\u00fc\u00e7\u00fck ayarlamalarla sitenizin i\u015flevselli\u011fini art\u0131rabilirsiniz.<\/p>\n<h4>Yaz\u0131lar\u0131n \u00d6zet (Excerpt) Uzunlu\u011funu De\u011fi\u015ftirme<\/h4>\n<p>WordPress&#8217;in varsay\u0131lan olarak g\u00f6sterdi\u011fi \u00f6zet metinlerinin kelime say\u0131s\u0131n\u0131 (genellikle 55 kelime) teman\u0131za daha uygun bir uzunlukla de\u011fi\u015ftirebilirsiniz.<\/p>\n<p><b>\u00d6rnek Kod:<\/b> `function yeni_ozet_uzunlugu($length) { return 25; \/\/ 25 kelime olarak ayarland\u0131 } add_filter(&#8216;excerpt_length&#8217;, &#8216;yeni_ozet_uzunlugu&#8217;, 999);`<\/p>\n<h4>Yaz\u0131lar\u0131n Sonuna Otomatik Olarak Belirli Bir \u0130\u00e7erik Ekleme<\/h4>\n<p>Her yaz\u0131n\u0131n sonuna manuel olarak eklemek yerine, otomatik olarak bir yazar biyografisi, bir eylem \u00e7a\u011fr\u0131s\u0131 (call-to-action) veya bir telif hakk\u0131 uyar\u0131s\u0131 ekleyebilirsiniz.<\/p>\n<p><b>\u00d6rnek Kod:<\/b> `function yazi_sonuna_icerik_ekle($content) { if (is_single()) { $content .= &#8216;<\/p>\n<p><strong>Bu yaz\u0131y\u0131 be\u011fendiniz mi? Sosyal medyada payla\u015fmay\u0131 unutmay\u0131n!<\/strong><\/p>\n<p>&#8216;; } return $content; } add_filter(&#8216;the_content&#8217;, &#8216;yazi_sonuna_icerik_ekle&#8217;);`<\/p>\n<h4>\u00d6ne \u00c7\u0131kar\u0131lm\u0131\u015f G\u00f6rsel Deste\u011fi Ekleme<\/h4>\n<p>E\u011fer kulland\u0131\u011f\u0131n\u0131z tema \u00f6ne \u00e7\u0131kar\u0131lm\u0131\u015f g\u00f6rselleri (post thumbnails) desteklemiyorsa veya bu \u00f6zelli\u011fi \u00f6zel g\u00f6nderi t\u00fcrlerine de eklemek istiyorsan\u0131z, bu fonksiyonu kullanabilirsiniz.<\/p>\n<p><b>\u00d6rnek Kod:<\/b> `add_theme_support( &#8216;post-thumbnails&#8217; );`<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Guvenlik-ve-Performans-Iyilestirmeleri\"><\/span>G\u00fcvenlik ve Performans \u0130yile\u015ftirmeleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>`functions.php` dosyas\u0131, sitenizi daha g\u00fcvenli ve h\u0131zl\u0131 hale getirmek i\u00e7in de g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.<\/p>\n<h4>WordPress S\u00fcr\u00fcm Bilgisini Gizleme<\/h4>\n<p>WordPress, sitenizin kaynak koduna s\u00fcr\u00fcm bilgisini ekler. Bu bilgi, sitenize sald\u0131rmak isteyen k\u00f6t\u00fc niyetli ki\u015filer i\u00e7in bir ipucu olabilir. Bu bilgiyi gizlemek basit bir g\u00fcvenlik \u00f6nlemidir.<\/p>\n<p><b>\u00d6rnek Kod:<\/b> `remove_action(&#8216;wp_head&#8217;, &#8216;wp_generator&#8217;);`<\/p>\n<h4>XML-RPC&#8217;yi Devre D\u0131\u015f\u0131 B\u0131rakma<\/h4>\n<p>XML-RPC, WordPress&#8217;in uzaktan y\u00f6netilmesine olanak tan\u0131yan bir \u00f6zelliktir ancak g\u00fcn\u00fcm\u00fczde pek \u00e7ok g\u00fcvenlik a\u00e7\u0131\u011f\u0131na ve kaba kuvvet (brute-force) sald\u0131r\u0131lar\u0131na neden olabilmektedir. E\u011fer mobil uygulama veya di\u011fer uzak ba\u011flant\u0131 ara\u00e7lar\u0131n\u0131 kullanm\u0131yorsan\u0131z, bu \u00f6zelli\u011fi kapatmak g\u00fcvenli\u011finizi art\u0131r\u0131r.<\/p>\n<p><b>\u00d6rnek Kod:<\/b> `add_filter(&#8216;xmlrpc_enabled&#8217;, &#8216;__return_false&#8217;);`<\/p>\n<h4>CSS ve JavaScript Dosyalar\u0131n\u0131 Do\u011fru \u015eekilde S\u0131raya Koyma (Enqueueing)<\/h4>\n<p>Bu bir eklemeden \u00e7ok, bir en iyi uygulamad\u0131r. Stil ve betik dosyalar\u0131n\u0131z\u0131 do\u011frudan `header.php`&#8217;ye eklemek yerine, `functions.php` \u00fczerinden `wp_enqueue_script` ve `wp_enqueue_style` fonksiyonlar\u0131n\u0131 kullanarak eklemelisiniz. Bu, WordPress&#8217;in bu dosyalar\u0131 do\u011fru s\u0131rada y\u00fcklemesini, \u00e7ak\u0131\u015fmalar\u0131 \u00f6nlemesini ve performans optimizasyonu yapabilmesini sa\u011flar.<\/p>\n<p><b>\u00d6rnek Kod:<\/b> `function temamin_scriptlerini_ekle() { wp_enqueue_style( &#8216;ozel-stil&#8217;, get_stylesheet_uri() ); wp_enqueue_script( &#8216;ozel-script&#8217;, get_template_directory_uri() . &#8216;\/js\/custom.js&#8217;, array(&#8216;jquery&#8217;), &#8216;1.0.0&#8217;, true ); } add_action( &#8216;wp_enqueue_scripts&#8217;, &#8216;temamin_scriptlerini_ekle&#8217; );`<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Olasi-Hatalar-ve-Cozum-Yollari\"><\/span>Olas\u0131 Hatalar ve \u00c7\u00f6z\u00fcm Yollar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>`functions.php` dosyas\u0131yla \u00e7al\u0131\u015f\u0131rken, \u00f6zellikle yeni ba\u015flayanlar i\u00e7in hatalarla kar\u015f\u0131la\u015fmak ka\u00e7\u0131n\u0131lmazd\u0131r. En ufak bir yaz\u0131m hatas\u0131 bile sitenizin beklenmedik \u015fekilde davranmas\u0131na veya tamamen \u00e7\u00f6kmesine neden olabilir. Ancak panik yapmaya gerek yok; en s\u0131k kar\u015f\u0131la\u015f\u0131lan hatalar\u0131n \u00e7\u00f6z\u00fcmleri genellikle olduk\u00e7a basittir. Bu b\u00f6l\u00fcmde, `functions.php` dosyas\u0131n\u0131 d\u00fczenlerken kar\u015f\u0131la\u015fabilece\u011finiz yayg\u0131n sorunlar\u0131 ve bu sorunlar\u0131 nas\u0131l giderebilece\u011finizi ele alaca\u011f\u0131z.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"En-Sik-Karsilasilan-Sorun-Beyaz-Ekran-Hatasi-WSOD\"><\/span>En S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorun: Beyaz Ekran Hatas\u0131 (WSOD)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>WordPress kullan\u0131c\u0131lar\u0131n\u0131n korkulu r\u00fcyas\u0131 olan Beyaz Ekran Hatas\u0131 (White Screen of Death &#8211; WSOD), sitenize veya y\u00f6netici panelinize eri\u015fmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda hi\u00e7bir i\u00e7erik veya hata mesaj\u0131 olmayan bo\u015f, beyaz bir sayfa g\u00f6rmenizdir. Bu hata genellikle `functions.php` dosyas\u0131na eklenen hatal\u0131 bir PHP kodundan kaynaklan\u0131r. Bir s\u00f6zdizimi hatas\u0131 (syntax error), PHP&#8217;nin \u00e7al\u0131\u015fmas\u0131n\u0131 durdurur ve sayfan\u0131n olu\u015fturulmas\u0131n\u0131 engeller.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Beyaz-Ekran-Hatasi-Nasil-Cozulur\"><\/span>Beyaz Ekran Hatas\u0131 Nas\u0131l \u00c7\u00f6z\u00fcl\u00fcr?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bu hatay\u0131 ald\u0131\u011f\u0131n\u0131zda WordPress y\u00f6netim paneline eri\u015femeyece\u011finiz i\u00e7in, \u00e7\u00f6z\u00fcm\u00fc dosya d\u00fczeyinde yapman\u0131z gerekir. \u0130\u015fte izlemeniz gereken ad\u0131mlar:<\/p>\n<ol>\n<li><b>FTP veya Hosting Paneli Dosya Y\u00f6neticisi ile Ba\u011flan\u0131n:<\/b> FileZilla gibi bir FTP istemcisi veya cPanel\/Plesk gibi kontrol panelinizin dosya y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla <a href=\"https:\/\/www.ihs.com.tr\/sunucu-kiralama\/\" target=\"_blank\">sunucu<\/a> dosyalar\u0131n\u0131za eri\u015fin.<\/li>\n<li><b>functions.php Dosyas\u0131n\u0131 Bulun:<\/b> Sitenizin `wp-content\/themes\/aktif-temanizin-adi` (e\u011fer alt tema kullan\u0131yorsan\u0131z alt teman\u0131z\u0131n klas\u00f6r\u00fc) dizinine gidin ve `functions.php` dosyas\u0131n\u0131 bulun.<\/li>\n<li><b>De\u011fi\u015fiklikleri Geri Al\u0131n:<\/b> Soruna neden olan, en son ekledi\u011finiz kod par\u00e7ac\u0131\u011f\u0131n\u0131 silin. E\u011fer hangi kodun soruna neden oldu\u011fundan emin de\u011filseniz, dosyay\u0131 d\u00fczenleme \u00f6ncesi ald\u0131\u011f\u0131n\u0131z yedekle de\u011fi\u015ftirin. E\u011fer yede\u011finiz yoksa, dosyay\u0131 bilgisayar\u0131n\u0131za indirip i\u00e7indeki t\u00fcm \u00f6zel kodlar\u0131 ge\u00e7ici olarak silerek standart bir hale getirebilir ve tekrar y\u00fckleyebilirsiniz.<\/li>\n<li><b>Siteyi Kontrol Edin:<\/b> Dosyay\u0131 kaydettikten veya orijinal haliyle de\u011fi\u015ftirdikten sonra web sitenizi taray\u0131c\u0131da yenileyin. Siteniz tekrar \u00e7al\u0131\u015f\u0131r hale gelmelidir.<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"PHP-Sozdizimi-Syntax-Hatalarini-Tespit-Etme-ve-Duzeltme\"><\/span>PHP S\u00f6zdizimi (Syntax) Hatalar\u0131n\u0131 Tespit Etme ve D\u00fczeltme<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Beyaz ekran hatas\u0131n\u0131n temel nedeni genellikle s\u00f6zdizimi hatalar\u0131d\u0131r. Bu hatalar \u015funlar olabilir:<\/p>\n<ul>\n<li>Unutulmu\u015f bir noktal\u0131 virg\u00fcl (`;`)<\/li>\n<li>Eksik veya fazla bir parantez `()`, k\u00fcme parantezi `{}` veya k\u00f6\u015feli parantez `[]`<\/li>\n<li>Yanl\u0131\u015f yaz\u0131lm\u0131\u015f fonksiyon adlar\u0131 veya de\u011fi\u015fkenler<\/li>\n<li>PHP a\u00e7\u0131l\u0131\u015f `<?php` etiketinin olmamas\u0131 veya yanl\u0131\u015f kullan\u0131lmas\u0131<\/li>\n<\/ul>\n<p><b>\u00c7\u00f6z\u00fcm:<\/b> Ekledi\u011finiz kodu dikkatlice g\u00f6zden ge\u00e7irin. Bir kod d\u00fczenleyici (Notepad++, VS Code vb.) kullanmak, bu t\u00fcr hatalar\u0131 renkli vurgulama sayesinde daha kolay tespit etmenizi sa\u011flar. Ayr\u0131ca, kodu `functions.php`&#8217;ye eklemeden \u00f6nce bir PHP syntax checker (\u00e7evrimi\u00e7i s\u00f6zdizimi denetleyicisi) kullanarak test edebilirsiniz. Bu ara\u00e7lar, kodunuzdaki potansiyel hatalar\u0131 size an\u0131nda bildirir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Eklenen-Fonksiyonun-Calismamasinin-Nedenleri\"><\/span>Eklenen Fonksiyonun \u00c7al\u0131\u015fmamas\u0131n\u0131n Nedenleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bazen siteniz \u00e7\u00f6kmez, ancak ekledi\u011finiz fonksiyon da bekledi\u011finiz gibi \u00e7al\u0131\u015fmaz. Bunun birka\u00e7 yayg\u0131n nedeni olabilir:<\/p>\n<ul>\n<li><b>Yanl\u0131\u015f Kanca (Hook) Kullan\u0131m\u0131:<\/b> Fonksiyonunuzu `add_action()` veya `add_filter()` ile yanl\u0131\u015f bir kancaya ba\u011flam\u0131\u015f olabilirsiniz. WordPress&#8217;in eylem ve filtre referans\u0131n\u0131 (Codex) kontrol ederek do\u011fru kancay\u0131 kulland\u0131\u011f\u0131n\u0131zdan emin olun.<\/li>\n<li><b>Fonksiyon \u00c7ak\u0131\u015fmas\u0131:<\/b> Ekledi\u011finiz fonksiyonun ad\u0131, WordPress \u00e7ekirde\u011findeki veya ba\u015fka bir eklentideki bir fonksiyonla ayn\u0131 olabilir. Bu durumu \u00f6nlemek i\u00e7in fonksiyonlar\u0131n\u0131za her zaman benzersiz \u00f6n ekler verin (\u00f6rne\u011fin, `benimtemam_ozel_fonksiyon()` gibi).<\/li>\n<li><b>\u00d6ncelik (Priority) Sorunlar\u0131:<\/b> Bir kancaya birden fazla fonksiyon ba\u011fland\u0131\u011f\u0131nda, \u00e7al\u0131\u015fma s\u0131ralar\u0131n\u0131 \u00f6ncelik parametresi belirler. Fonksiyonunuzun ba\u015fka bir fonksiyondan \u00f6nce veya sonra \u00e7al\u0131\u015fmas\u0131 gerekiyorsa, `add_action()` veya `add_filter()` fonksiyonunun \u00f6ncelik parametresini ayarlaman\u0131z gerekebilir (\u00f6rne\u011fin, `add_action(&#8216;wp_head&#8217;, &#8216;benim_fonksiyonum&#8217;, 5);`).<\/li>\n<li><b>\u00d6nbellekleme (Caching):<\/b> Sitenizde bir \u00f6nbellekleme eklentisi (\u00f6rn: <a href=\"https:\/\/www.ihs.com.tr\/blog\/wp-fastest-cache-kurulumu-ve-ayarlari\/\" target=\"_blank\">WP Fastest Cache<\/a>) kullan\u0131yorsan\u0131z, yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin g\u00f6r\u00fcnmesi i\u00e7in \u00f6nbelle\u011fi temizlemeniz gerekebilir.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"functionsphp-Kullanimi-Icin-En-Iyi-Uygulamalar-Best-Practices\"><\/span>functions.php Kullan\u0131m\u0131 \u0130\u00e7in En \u0130yi Uygulamalar (Best Practices)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>`functions.php` dosyas\u0131, WordPress sitenizi \u00f6zelle\u015ftirmek i\u00e7in inan\u0131lmaz bir g\u00fc\u00e7 sunar, ancak bu g\u00fcc\u00fcn sorumlu bir \u015fekilde kullan\u0131lmas\u0131 gerekir. Kod eklemeye ba\u015flad\u0131\u011f\u0131n\u0131zda, dosyan\u0131z h\u0131zla karma\u015f\u0131k ve y\u00f6netilmesi zor bir hale gelebilir. Gelecekte ya\u015fanabilecek sorunlar\u0131 en aza indirmek, bak\u0131m\u0131n\u0131 kolayla\u015ft\u0131rmak ve sitenizin istikrar\u0131n\u0131 korumak i\u00e7in belirli en iyi uygulamalar\u0131 benimsemek \u00e7ok \u00f6nemlidir. Bu al\u0131\u015fkanl\u0131klar, sizi olas\u0131 hatalardan koruyacak ve kodunuzu daha profesyonel hale getirecektir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Child-Theme-Alt-Tema-Kullanimini-Aliskanlik-Haline-Getirme\"><\/span>Child Theme (Alt Tema) Kullan\u0131m\u0131n\u0131 Al\u0131\u015fkanl\u0131k Haline Getirme<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bu, en temel ve en \u00f6nemli kurald\u0131r. `functions.php` dosyas\u0131na yapaca\u011f\u0131n\u0131z her t\u00fcrl\u00fc de\u011fi\u015fikli\u011fi mutlaka bir alt tema (child theme) \u00fczerinden yap\u0131n. Ana teman\u0131n dosyalar\u0131n\u0131 do\u011frudan d\u00fczenlemek, tema g\u00fcncellemeleri s\u0131ras\u0131nda t\u00fcm emeklerinizin kaybolmas\u0131na neden olur. Alt tema kullanmak, \u00f6zelle\u015ftirmelerinizi ana temadan izole ederek g\u00fcvenli bir \u015fekilde saklar. Bu, WordPress geli\u015ftirmede profesyonelli\u011fin ilk ad\u0131m\u0131d\u0131r ve asla g\u00f6z ard\u0131 edilmemelidir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Eklenen-Her-Kod-Blogu-Icin-Aciklayici-Yorum-Satirlari-Kullanma\"><\/span>Eklenen Her Kod Blo\u011fu \u0130\u00e7in A\u00e7\u0131klay\u0131c\u0131 Yorum Sat\u0131rlar\u0131 Kullanma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Bug\u00fcn yazd\u0131\u011f\u0131n\u0131z bir kodun ne i\u015fe yarad\u0131\u011f\u0131n\u0131 alt\u0131 ay sonra hat\u0131rlamakta zorlanabilirsiniz. `functions.php` dosyan\u0131z zamanla b\u00fcy\u00fcd\u00fck\u00e7e, hangi kod par\u00e7as\u0131n\u0131n hangi i\u015flevi yerine getirdi\u011fini anlamak imkans\u0131z hale gelebilir. Bu nedenle, ekledi\u011finiz her fonksiyon veya kod blo\u011funun ba\u015f\u0131na a\u00e7\u0131klay\u0131c\u0131 yorum sat\u0131rlar\u0131 ekleyin. Bu yorumlar, hem size hem de projenizde \u00e7al\u0131\u015fabilecek di\u011fer geli\u015ftiricilere zaman kazand\u0131r\u0131r.<\/p>\n<p><b>\u00d6rnek:<\/b><\/p>\n<p>`\/\/ WordPress giri\u015f sayfas\u0131ndaki varsay\u0131lan logoyu \u00f6zel logomuzla de\u011fi\u015ftirir.`<\/p>\n<p>`function my_custom_login_logo() { &#8230; }`<\/p>\n<p>`add_action( &#8216;login_enqueue_scripts&#8217;, &#8216;my_custom_login_logo&#8217; );`<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Fonksiyon-Cakismalarini-Onlemek-Icin-Benzersiz-On-Ekler-Prefix-Kullanma\"><\/span>Fonksiyon \u00c7ak\u0131\u015fmalar\u0131n\u0131 \u00d6nlemek \u0130\u00e7in Benzersiz \u00d6n Ekler (Prefix) Kullanma<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>WordPress ekosisteminde binlerce tema ve eklenti bulunmaktad\u0131r. Yazd\u0131\u011f\u0131n\u0131z bir fonksiyonun ad\u0131n\u0131n (\u00f6rne\u011fin, `get_posts()`) ba\u015fka bir eklenti veya WordPress \u00e7ekirde\u011findeki bir fonksiyonla \u00e7ak\u0131\u015fma ihtimali y\u00fcksektir. Bu durum &#8220;fatal error: cannot redeclare function&#8221; gibi kritik hatalara yol a\u00e7ar. Bunu \u00f6nlemek i\u00e7in, t\u00fcm fonksiyon adlar\u0131n\u0131z\u0131n ba\u015f\u0131na projenize veya \u015firketinize \u00f6zg\u00fc, benzersiz bir \u00f6n ek (prefix) ekleyin.<\/p>\n<p><b>K\u00f6t\u00fc Kullan\u0131m:<\/b> `function remove_version() { &#8230; }`<\/p>\n<p><b>\u0130yi Kullan\u0131m:<\/b> `function ihs_remove_wp_version_info() { &#8230; }`<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kodlari-Mantiksal-Gruplara-Ayirarak-Duzeni-Saglama\"><\/span>Kodlar\u0131 Mant\u0131ksal Gruplara Ay\u0131rarak D\u00fczeni Sa\u011flama<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>`functions.php` dosyan\u0131z uzad\u0131k\u00e7a, i\u00e7inde arad\u0131\u011f\u0131n\u0131z\u0131 bulmak zorla\u015f\u0131r. Dosyan\u0131n okunabilirli\u011fini ve y\u00f6netilebilirli\u011fini art\u0131rmak i\u00e7in kodlar\u0131n\u0131z\u0131 mant\u0131ksal gruplara ay\u0131r\u0131n. \u00d6rne\u011fin, t\u00fcm g\u00fcvenlik ile ilgili kodlar\u0131 bir araya toplay\u0131n, y\u00f6netici paneli \u00f6zelle\u015ftirmelerini ba\u015fka bir grupta, k\u0131sa kod (shortcode) tan\u0131mlamalar\u0131n\u0131 ise ayr\u0131 bir b\u00f6l\u00fcmde tutun. Bu gruplar\u0131 ay\u0131rmak i\u00e7in yorum bloklar\u0131 kullanabilirsiniz.<\/p>\n<p><b>\u00d6rnek Yap\u0131:<\/b><\/p>\n<p>`\/* =========================================================================`<\/p>\n<p>`* G\u00dcVENL\u0130K \u0130Y\u0130LE\u015eT\u0130RMELER\u0130`<\/p>\n<p>`* ========================================================================= *\/`<\/p>\n<p>`\/\/ WordPress s\u00fcr\u00fcm bilgisini gizle`<\/p>\n<p>`&#8230;`<\/p>\n<p>`\/* =========================================================================`<\/p>\n<p>`* Y\u00d6NET\u0130C\u0130 PANEL\u0130 \u00d6ZELLE\u015eT\u0130RMELER\u0130`<\/p>\n<p>`* ========================================================================= *\/`<\/p>\n<p>`\/\/ Giri\u015f logosunu de\u011fi\u015ftir`<\/p>\n<p>`&#8230;`<\/p>\n<p>E\u011fer `functions.php` dosyan\u0131z \u00e7ok fazla b\u00fcy\u00fcrse, bu mant\u0131ksal gruplar\u0131 ayr\u0131 PHP dosyalar\u0131na b\u00f6l\u00fcp `require_once` ifadesi ile `functions.php` dosyan\u0131za dahil etmeyi d\u00fc\u015f\u00fcnebilirsiniz. Bu, \u00f6zellikle b\u00fcy\u00fck ve karma\u015f\u0131k projeler i\u00e7in son derece d\u00fczenli bir \u00e7al\u0131\u015fma \u015fekli sunar.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Guvenilir-WordPress-Hosting-ve-Tema-Yonetimi-Icin-Neden-IHS-Telekomu-Tercih-Etmelisiniz\"><\/span>G\u00fcvenilir WordPress Hosting ve Tema Y\u00f6netimi \u0130\u00e7in Neden \u0130HS Telekom&#8217;u Tercih Etmelisiniz?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WordPress sitenizin potansiyelini `functions.php` gibi geli\u015fmi\u015f ara\u00e7larla en \u00fcst d\u00fczeye \u00e7\u0131karmak, yaln\u0131zca do\u011fru kodlama bilgisi de\u011fil, ayn\u0131 zamanda sa\u011flam ve g\u00fcvenilir bir altyap\u0131 gerektirir. Yapt\u0131\u011f\u0131n\u0131z \u00f6zelle\u015ftirmelerin sorunsuz \u00e7al\u0131\u015fmas\u0131, sitenizin h\u0131zl\u0131 ve her zaman eri\u015filebilir olmas\u0131, temelini olu\u015fturan hosting hizmetinin kalitesine do\u011frudan ba\u011fl\u0131d\u0131r. \u0130\u015fte bu noktada \u0130HS Telekom, sundu\u011fu optimize edilmi\u015f <a href=\"https:\/\/www.ihs.com.tr\/web-hosting\/wordpress-hosting.html\" target=\"_blank\">WordPress hosting<\/a> \u00e7\u00f6z\u00fcmleriyle devreye girer.<\/p>\n<p>Bir `functions.php` hatas\u0131 nedeniyle siteniz \u00e7\u00f6kt\u00fc\u011f\u00fcnde, sorunu h\u0131zla \u00e7\u00f6zmek i\u00e7in cPanel veya Plesk Panel gibi geli\u015fmi\u015f kontrol panelleri \u00fczerinden Dosya Y\u00f6neticisi&#8217;ne an\u0131nda eri\u015fim hayati \u00f6nem ta\u015f\u0131r. \u0130HS Telekom, kullan\u0131c\u0131 dostu ve g\u00fc\u00e7l\u00fc y\u00f6netim panelleri sunarak dosyalar\u0131n\u0131za kolayca m\u00fcdahale etmenizi sa\u011flar. D\u00fczenleme yapmadan \u00f6nce alman\u0131z gereken tam site yedekleri, \u0130HS Telekom&#8217;un sundu\u011fu d\u00fczenli ve otomatik yedekleme hizmetleri ile g\u00fcvence alt\u0131ndad\u0131r. Olas\u0131 bir sorunda tek t\u0131kla sitenizi geri y\u00fckleyerek veri kayb\u0131 riskini ortadan kald\u0131rabilirsiniz.<\/p>\n<p>Ayr\u0131ca, `functions.php` ile yapaca\u011f\u0131n\u0131z performans iyile\u015ftirmelerinin etkisini tam olarak g\u00f6rebilmeniz i\u00e7in LiteSpeed gibi modern web sunucular\u0131 ve NVMe SSD disk altyap\u0131s\u0131 kritik fark yarat\u0131r. \u0130HS Telekom&#8217;un sundu\u011fu y\u00fcksek performansl\u0131 <a href=\"https:\/\/www.ihs.com.tr\/sunucu-kiralama\/vps-server.html\" target=\"_blank\">VPS<\/a> ve VDS sunucu se\u00e7enekleri, sitenizin en yo\u011fun trafikte bile \u0131\u015f\u0131k h\u0131z\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 garanti eder. G\u00fcvenlik taraf\u0131nda ise, ekledi\u011finiz \u00f6zel kodlar\u0131n yan\u0131 s\u0131ra, sunucu d\u00fczeyinde sa\u011flanan g\u00fcvenlik duvarlar\u0131 (firewall), malware taramalar\u0131 ve \u00fccretsiz <a href=\"https:\/\/www.ihs.com.tr\/ssl\/\" target=\"_blank\">SSL sertifikas\u0131<\/a> deste\u011fi ile siteniz katmanl\u0131 bir korumaya sahip olur. Teknik bir sorunla kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131zda veya bir konuda yard\u0131ma ihtiya\u00e7 duydu\u011funuzda, 7\/24 ula\u015fabilece\u011finiz uzman teknik destek ekibi, WordPress ve sunucu y\u00f6netimi konusundaki tecr\u00fcbesiyle her zaman yan\u0131n\u0131zdad\u0131r. Sitenizin hem kod hem de altyap\u0131 katman\u0131nda en iyi performans\u0131 ve g\u00fcvenli\u011fi sunmas\u0131n\u0131 istiyorsan\u0131z, \u0130HS Telekom&#8217;un g\u00fcvenilir hosting ve <a href=\"https:\/\/www.ihs.com.tr\/domain\/alan-adi-domain-tescili.html\" target=\"_blank\">alan ad\u0131<\/a> hizmetleri projeniz i\u00e7in en do\u011fru temel olacakt\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPress, esnek yap\u0131s\u0131 ve geni\u015f \u00f6zelle\u015ftirme olanaklar\u0131yla d\u00fcnya genelinde milyonlarca web sitesinin altyap\u0131s\u0131n\u0131 olu\u015fturur. Bu esnekli\u011fin temel ta\u015flar\u0131ndan biri de `functions.php` dosyas\u0131d\u0131r.&hellip;<\/p>\n","protected":false},"author":3,"featured_media":15860,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[397],"tags":[],"class_list":["post-15849","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\/15849","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=15849"}],"version-history":[{"count":1,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/15849\/revisions"}],"predecessor-version":[{"id":15851,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/posts\/15849\/revisions\/15851"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/media\/15860"}],"wp:attachment":[{"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=15849"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=15849"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ihs.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=15849"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}