WordPress'te function.php Nasıl Bulunur, Erişilir ve Düzenlenir

Yayınlanan: 2022-08-23

WordPress geliştirmeye yeni başlıyorsanız, aşina olmanız gereken en önemli dosyalardan biri function.php dosyasıdır. Aslında WordPress web sitenizde kullanabileceğiniz üç olası function.php dosyası vardır ve her biri farklı bir rol oynar. Bu dosyaların nerede yaşadığını, amaçlarının ne olduğunu ve bunların nasıl ve ne zaman değiştirileceğini bilmek, sorunları giderirken size yardımcı olacak ve sitenizin işlevselliği üzerinde daha fazla kontrol sahibi olmanızı sağlayacaktır.

Bu makalede, WordPress function.php dosyaları hakkında bilmeniz gereken her şeyi ele alacağız. Functions.php'nin ne yaptığını ve onu nasıl bulup düzenleyeceğinizi öğreneceksiniz. Denemek için birkaç faydalı kod parçacığı bile ekleyeceğiz.

Baştan başlayabilir ve aşağıdaki içindekiler tablosunu kullanarak belirli bir bölümü okuyabilir veya atlayabilirsiniz:

  • WordPress'te function.php nedir?
  • Functions.php dosyası nerede bulunur?
  • Functions.php'ye nasıl erişilir?
    • WordPress Yönetici Arayüzünüzde functions.php'ye erişme
    • FTP aracılığıyla function.php'ye erişme
    • cPanel'inizde function.php'ye erişme
  • WordPress'te function.php'yi ne zaman düzenlemeliyim?
  • WordPress'te function.php nasıl düzenlenir
    • WordPress Tema Dosyası Düzenleyicinizde function.php'yi düzenleme
    • Bir metin düzenleyiciyle function.php'yi düzenleme
    • Functions.php'yi doğrudan cPanel'de düzenleme
  • WordPress sitenize işlev eklemek için bir eklenti kullanma
  • Functions.php güvenlik açıklarından nasıl korunur
  • WordPress'te function.php'ye hangi kodu ekleyebilirim?
  • SSS
    • Functions.php dosyasını düzenlemek için bir alt tema oluşturmam gerekir mi?
    • WordPress kontrol panelime erişimim yoksa function.php'yi bir yedekten nasıl geri yüklerim?
    • Functions.php dosyama JavaScript ekleyebilir miyim?

WordPress'te function.php nedir?

WordPress'te, functions.php dosyası, sitenizin çalışma şeklini belirleyen hayati kodun bulunduğu yerdir. Aslında her WordPress web sitesinde en az iki function.php dosyası vardır – biri WordPress çekirdeğine, diğeri temanıza dahildir. Bir alt tema kullanıyorsanız, alt tema klasörünüzde de bir functions.php olmalıdır.

WordPress çekirdeğindeki functions.php dosyası, WordPress'in çalışması için gerekli olan önemli kodu içerir. WordPress çekirdeğinin functions.php dosyasındaki kodu neredeyse hiç değiştirmemelisiniz.

Temanızın function.php dosyası, web sitenizin özel menü konumları, widget alanları, özel üstbilgi ve altbilgi içeriği ve işlevleri, alıntı uzunluğu ve daha fazlası gibi temaya özgü tüm özelliklerinin yaşadığı yerdir.

Temanızın function.php dosyası, bir WordPress eklentisi gibi davranır. Aradaki fark, temaya özel kod için function.php kullanılırken, tema değiştirdiğinizde bile kalacak işlevsellik için eklentilerin kullanılması gerektiğidir.

Functions.php dosyası nerede bulunur?

Functions.php dosyasının hem WordPress çekirdeğinde hem de tema dosyalarında ne yaptığından bahsetmiştik, ancak functions.php dosyasını nasıl buluyorsunuz? WordPress'te function.php nerede?

Tüm WordPress dosyalarınız sitenizin kök dizininde ve çeşitli alt klasörlerde bulunur. Kök dizininiz genellikle public_html veya www gibi bir adla adlandırılır, ancak farklı bir adı olabilir. WordPress kurulum klasörünüzü sunucunuzda nerede bulacağınızdan emin değilseniz, web sunucunuzla iletişime geçin.

WordPress dosyalarınızın sunucunuzda nerede olduğunu bulduktan sonra, function.php dosyalarınızı aramaya başlayabilirsiniz. Functions.php için en fazla üç konum olduğundan bahsetmiştik: WordPress çekirdeği, tema klasörünüz ve alt tema klasörünüz. Bu bölümde, her birini nerede bulacağımızı inceleyeceğiz.

WordPress çekirdeğinde function.php nerede?

WordPress çekirdeğinde function.php dosyasının yerini arıyorsanız, onu WordPress kurulumunuzun wp-includes klasöründe bulacaksınız.

wp-include'da function.php dosyasını bulma

WordPress çekirdeğinde asla function.php dosyasını düzenlememelisiniz, ancak şu veya bu nedenle onu incelemeye ihtiyaç duyabilirsiniz. WordPress çekirdeğindeki function.php dosyasında dolaşmak için en olası senaryo, kötü amaçlı yazılım enjekte edildiğinden şüpheleniyor olmanızdır.

Function.php dosyasını açmadan önce bile, kritik bir hataya neden olan dosyada yanlışlıkla bir değişiklik yapmanız durumunda WordPress sitenizin yedeğini almalısınız. Functions.php'nin bozulduğunu veya saldırıya uğradığını tespit ederseniz, WordPress'in etkilenen başka alanları olabilir. Yapılacak en iyi şey, rahatsız edici tüm komut dosyalarını tek tek kaldırmaya çalışmak yerine, WordPress'i yeni bir kurulumla değiştirmektir.

WordPress tema klasörümde function.php nerede?

Temanızın function.php dosyası, tema klasörünüzün ana dizininde bulunur: wp-contenttheme → temanız .

tema klasöründe function.php dosyasını bulma

WordPress alt tema klasöründe function.php nerede?

WordPress alt tema işlevleri.php dosyası, alt tema klasörünüzün ana dizininde bulunur: wp-content → theme → yourtheme-child .

alt tema function.php dosyasını bulma

Functions.php'ye nasıl erişirim?

Functions.php'nin nerede yaşadığını bilmek işin sadece yarısıdır. Şimdi WordPress'te function.php'ye nasıl erişileceği sorusu geliyor. WordPress çekirdeğindeki function.php dosyasına yalnızca güvenli dosya aktarım protokolü (SFTP) veya cPanel üzerinden erişilebilirken, tema ve alt tema functions.php dosyalarınıza WordPress Tema Dosyası Düzenleyicisinden de erişilebilir.

WordPress Tema Dosyası Düzenleyicisi'nde function.php'ye erişme

Temanıza veya alt temanızın function.php dosyasına erişmeniz gerekiyorsa, bunu doğrudan WordPress Tema Dosyası Düzenleyicisinden yapabilirsiniz. WordPress kontrol panelinizde Görünüm → Tema Dosyası Düzenleyicisi'ne gidin.

Temaları Düzenle sayfasına yönlendirileceksiniz. Buradan, Düzenlenecek temayı seçin öğesinin yanındaki açılır listenin altında temanızı seçin ve Seç öğesini tıklayın. Ekranınızın en sağındaki Tema Dosyaları sütununun altında düzenleyebileceğiniz dosyaların bir listesini göreceksiniz. Dosyayı açmak için functions.php'ye tıklayın.

function.php dosyasını bulma

Ana temanızın function.php dosyasındaysanız, ekranın alt kısmında Dosyayı Güncelle düğmesinin üzerinde "Dikkat: Bu, geçerli ana temanızdaki bir dosyadır" yazan bir uyarı bildirimi görürsünüz.

Not: Tema geliştiricisi değilseniz, gelecekteki tema güncellemelerinde düzenlemelerinizin üzerine yazılmasını önlemek için değişikliklerinizi alt temanızın functions.php dosyasında yapmalısınız.

Functions.php'ye SFTP aracılığıyla erişme

Adım 1: SFTP istemcinizi kurun. Halihazırda bir SFTP istemciniz yoksa bir tane indirmeniz gerekir. Aşağıdakiler de dahil olmak üzere bazı harika ücretsiz ve premium seçenekler var:

Başvuru sistem Ücretsiz veya Premium
WinSCP pencereler Özgür
Filezilla Windows, Mac, Linux Ücretsiz ve premium seçenekler
Siber ördek Windows, Mac Özgür
iletmek Mac Ödül

Bu örnekte Filezilla kullanacağız. Diğer SFTP istemcileri de benzer şekilde çalışmalıdır.

2. Adım: SFTP kimlik bilgilerinizi alın. Sunucunuzda SFTP aracılığıyla oturum açmak için aşağıdaki ayrıntılara ihtiyacınız olacak:

  • Ana bilgisayar (sunucunuzun IP adresi veya url'si)
  • SFTP kullanıcı adı
  • Şifre
  • Port numarası

Bu ayrıntılar genellikle barındırma kontrol panelinizde bulunabilir. Bu bilgiler sizin için oluşturulabilir veya sunucunuz sizden bir SFTP kullanıcı adı ve şifresi oluşturmanızı isteyebilir. Bu kimlik bilgilerini nerede bulacağınızı bilmiyorsanız veya bunları nasıl oluşturacağınızı bulmakta sorun yaşıyorsanız, talimatlar için sunucunuzun yardım belgelerinde arama yapın veya destek ekibiyle iletişime geçin.

3. Adım: SFTP kimlik bilgilerinizi girin.

Ana makinenizin IP adresini veya URL'sini, SFTP kullanıcı adınızı, parolanızı ve bağlantı noktası numarasını girin (genellikle 22 veya 2222, ancak bazı ana bilgisayarlar farklı bir bağlantı noktası kullanabilir).

Filezilla'da sftp kimlik bilgilerini girme

Not: SFTP istemciniz ilk kullanımda güven (TOFU) kimlik doğrulamasını kullanıyorsa bir 'ana bilgisayar anahtarı bilinmiyor' uyarısı alabilirsiniz. Siteye tekrar erişmek için SFTP istemcinizi kullanmayı planlıyorsanız, 'Her zaman bu ana bilgisayara güven, bu anahtarı önbelleğe ekle' seçeneğini işaretleyin. Devam etmek için Tamam'ı tıklayın.

filezilla'da bilinmeyen ana bilgisayar anahtar mesajı

Adım 4: Web sitenizin kök dizinine gidin.

Giriş yaptıktan sonra, ekranınızın düğmesinde görüntülenen iki dosya ağacı göreceksiniz - biri solda, diğeri sağda. Sağ taraf, web sunucunuzdaki (uzaktaki) dizinleri listeler. Sol taraf, bilgisayarınızdaki (yerel) dizinleri listeler.

Kök dizininiz genellikle www veya public_html etiketli bir klasördedir, ancak farklı bir ad kullanabilir. Hangi klasöre bakacağınızdan emin değilseniz, barındırma sağlayıcınıza sorun. Dosya listenizin en üstüne yakın bir yerde wp-admin , wp-content ve wp-includes klasörlerini görürseniz doğru klasörde olduğunuzu bileceksiniz.

Filezilla'da public_html klasörünü bulma

Adım 5: WordPress çekirdeğinde, ana temanızda veya alt temanızda function.php'ye gidin . WordPress çekirdeğinde function.php arıyorsanız, wp-includes klasörüne gideceksiniz.

Tema dizininizde function.php arıyorsanız, wp-contenttemalartemanız seçeneğine gideceksiniz .

Alt temanızın functions.php dosyasını bulmak için wp-content → theme → yourtheme-child'e gidin.

Adım 6: Functions.php dosyasını indirin . Artık function.php'nin nerede olduğunu bildiğinize ve dosyaya eriştiğinize göre, dosyayı incelemek veya düzenlemek isteyebilirsiniz. Bunu yapabilmek için önce indirmeniz gerekir. Functions.php dosyanıza sağ tıklayın ve İndir'i seçin. Dosyanız yerel makinenize indirilecektir.

Functions.php dosyasını Filezilla'dan indirmek

cPanel'de function.php'ye erişme

Sunucunuz cPanel kullanıyorsa, dosya yöneticisi aracılığıyla functions.php'ye erişebilirsiniz. Sunucunuzun kontrol panelinde cPanel'i nasıl bulacağınızı bilmiyorsanız, yardım için müşteri desteğiyle iletişime geçin.

Adım 1: cPanel'in Dosya Yöneticisini açın. cPanel'e girdikten sonra Dosyalar bölümüne gidin ve Dosya Yöneticisi'ne tıklayın.

Adım 2: Web sitenizin kök klasörünü açın. Kök klasör genellikle www veya public_html olarak adlandırılır, ancak başka bir adı da olabilir. Kök klasör adlandırma kuralları bazı ana bilgisayarlarda farklılık gösterir, bu nedenle hangi klasöre bakacağınızdan emin değilseniz barındırma sağlayıcınıza sorun.

Dosya listenizin en üstüne yakın bir yerde wp-admin , wp-content ve wp-includes klasörlerini görürseniz doğru klasörde olduğunuzu bileceksiniz.

Adım 3: Function.php dosyasını bulun ve indirin . WordPress çekirdeği için functions.php dosyası, wp-includes klasörünüzde bulunur.

Temanızın function.php dosyası wp-content → theme → temanız içinde bulunur .

Eğer çocuk temanızın function.php dosyasını arıyorsanız, onu wp-content → theme → yourtheme-child içinde bulabilirsiniz.

Aradığınız function.php dosyasını bulduğunuzda, functions.php'ye sağ tıklayın ve İndir'e tıklayın veya function.php'ye tek tıklayın ve ardından üst menüden İndir seçeneğine tıklayın.

cpanel'den function.php dosyasını indirmek

Dosyanızı kaydederken yeniden adlandırırsanız, yeniden yüklemeden önce onu function.php olarak adlandırdığınızdan emin olun. Ve function.php dosyasında değişiklik yapmadan ve üzerine yazmadan önce, WordPress sitenizi yedekleyin.

WordPress'te function.php'yi ne zaman düzenlemeliyim?

Functions.php dosyasının nasıl düzenleneceğine geçmeden önce, onu düzenlemeniz gerekip gerekmediğini ve ne zaman düzenleyeceğinizi konuşmalıyız. PHP kodunu WordPress'te düzenlemek isteyebileceğiniz birçok neden vardır, ancak bu kodu function.php dosyanıza eklemek her zaman en iyi seçenek değildir ve yalnızca aşağıda tartışacağımız belirli koşullar altında yapılmalıdır.

WordPress çekirdeğinde function.php ne zaman düzenlenir?

Hiçbir zaman. WordPress çekirdeğinde function.php dosyasını düzenlememelisiniz. En fazla, bozuk olduğunu fark ederseniz onu değiştirebilirsiniz, ancak WordPress temel function.php kodunu silmek veya eklemek sitenizi bozabilir. Böylece onu açabilir, inceleyebilir, gerekirse yeni bir kopyayla değiştirebilirsiniz, ancak canlı web sitelerinde uğraşmayın.

Temanızda function.php ne zaman düzenlenir?

Temanızın function.php dosyasına gelince, onu düzenlemeniz gerekebilir veya gerekmeyebilir. Kendi temanızı oluşturuyorsanız, kesinlikle function.php dosyasına bazı özel kodlar eklemek isteyeceksiniz. Hemen hemen her temanın function.php dosyasında, ona benzersiz bir dizi özellik ve yetenek kazandıran bir kod bulunur. Stil sayfalarınızın yanı sıra, bu işlevler, bir temayı diğerinden farklı kılan şeyin büyük bir parçasıdır.

Temanızın function.php dosyasına temanıza özgü olmayan ve temanızdan bağımsız olarak kullanılabilen bir kod ekliyorsanız, bunun yerine onu bir eklenti yapmayı düşünün. Bu şekilde, bu özelliği birden fazla temada kullanabilir ve hatta diğer WordPress kullanıcılarına fayda sağlayabileceği WordPress.org eklenti kitaplığına gönderebilirsiniz.

Eklentinizi oluşturmadan önce, oluşturduğunuz şeyin mevcut olmadığından emin olmak için eklenti kitaplığını kontrol edin. Kaliteli bir çözüm zaten mevcutsa, sitenizde farklı bir özel özellik için geliştirme enerjinizden tasarruf etmek isteyebilirsiniz.

Alt temanızda functions.php ne zaman düzenlenir?

Bir geliştiricinin temasını kullanıyorsanız ve function.php dosyasını değiştirmek istiyorsanız, bu değişiklikleri yapmak için her zaman bir alt tema kullanmalısınız. Tema geliştiricileri, temalarının yeni bir sürümünü yayınladığında ve siz en son sürüme güncelleme yaptığınızda, yeni dosyalar, mevcut temanızın üzerine yeni dosyalar tarafından yazılır - function.php dahil.

Alt temalar, ana tema güncellemelerinden etkilenmez, bu nedenle bir alt temanın function.php dosyasında değişiklik yaparsanız tüm özel kodunuzu korursunuz.

Kod eklemeden önce, bir eklenti kullanmanın daha iyi bir çözüm olup olmayacağını düşünün. Eklediğiniz kod temanıza özel mi? Alt temanızın functions.php dosyasını düzenleyin. Eklediğiniz kod, gelecekte temaları değiştirseniz de (örn. Google Analytics izleme kodu veya Facebook pikseli) sahip olmak isteyeceğiniz bir şey mi? Bir eklenti kullanın.

WordPress'te function.php nasıl düzenlenir

Functions.php dosyasını düzenlerken yapacağınız hatalardan sitenizi korumak için her zaman önlem almalısınız. Bu nedenle, düzenleme yapmaya başlamadan önce sitenizi yedekleyin ve önce bunları test etmek için bir hazırlama sitesi oluşturmayı düşünün. Bu şekilde, büyük sorunlara neden olan veya daha da kötüsü sitenizi tamamen çökerten function.php'ye yanlışlıkla bazı kodlar eklerseniz canlı siteniz kesintiye uğramaz.

Artık sitenizi yedeklediğinize göre, function.php dosyanızı düzenlemeye geçebilirsiniz.

WordPress Tema Dosyası Düzenleyicisinde function.php nasıl düzenlenir

WordPress Tema Dosyası Düzenleyicisi'nde function.php dosyasını düzenlemek biraz risklidir. Bu aracı cPanel veya SFTP'ye erişiminiz olmadığı için kullanıyorsanız, düzenlemeleriniz WordPress panonuza erişmenizi engelleyen önemli bir hataya neden olursa oldukça kötü bir durumda olursunuz.

Tema Dosyası Düzenleyicisi'nde function.php dosyasını düzenlemek istiyorsanız, yedekleme dosyanızı hızlı bir şekilde geri yükleyebilmek için sunucuya ve yedeklerinize doğrudan erişiminiz olduğundan emin olun.

WordPress Tema Dosyası Düzenleyicisini, WordPress yönetici panelinizde Görünüm → Tema Dosyası Düzenleyicisi altında bulabilirsiniz.

Alt temanızı seçmeniz gereken Temaları Düzenle ekranına yönlendirileceksiniz, ardından ekranınızın sağındaki Tema Dosyaları sütunundan functions.php dosyasını seçin.

tema dosyası düzenleyicisinde function.php dosyasını düzenleme

Bunun yerine ana temayı seçtiyseniz, ekranınızın altında " Dikkat: Bu, mevcut ana temanızdaki bir dosyadır" yazan bir uyarı görürsünüz. Ana temanızın function.php dosyasında düzenlemeler yapmak istemezsiniz çünkü temanızı bir sonraki güncellemenizde değişikliklerinizin üzerine yazılacaktır.

Dosyanızda anlamadığınız işlevler görürseniz, WordPress, Dosyayı Güncelle düğmesinin hemen üzerinde kullanışlı bir belge arama özelliği içerir. Açılır menüyü tıklayın ve hakkında daha fazla bilgi edinmek istediğiniz işlev adını arayın ve Ara öğesini tıklayın. Bu işlev için WordPress.org belgelerine yönlendirileceksiniz.

Değişikliklerinizi tamamladığınızda Dosyayı Güncelle 'yi tıklayın. Her şeyin istendiği gibi çalıştığından emin olmak için sitenizin ön ve arka ucunu kontrol edin. Önemli bir hatayla karşılaşırsanız ve function.php'yi yedeğinizden geri yüklemeniz gerekiyorsa, bunu cPanel veya SFTP aracılığıyla yapabilirsiniz.

Bir metin düzenleyiciyle function.php'yi düzenleme

Functions.php dosyasını düzenlemenin en iyi yolu, seçtiğiniz kod düzenleme yazılımıdır. Yerel bilgisayarınızda çevrimdışı olan bir kopyayı düzenlediğiniz için dosyanız üzerinde çalışmak için internete bağlı olmanız gerekmez. Ayrıca, değişikliklerinizi canlı sitenizde ne zaman gerçekleştireceğiniz konusunda daha fazla kontrole sahip olacaksınız.

Kodunuzu istediğiniz zaman düzenleyebilir ve değişikliklerinizi web sitenizin normalde en az trafiği aldığı bir zamanda yükleyebilirsiniz. Bu şekilde, herhangi bir sorun varsa, en az sayıda ziyaretçi etkilenecektir.

Adım 1: Metin düzenleyicinizde function.php dosyasını açın. Bir metin düzenleyici kullanmaya aşina değilseniz, aralarından seçim yapabileceğiniz birkaç ücretsiz seçenek vardır.

Ücretsiz kaynak kodu ve düz metin editörleri:

Başvuru sistem
not defteri++ pencereler
atom.io Windows, Mac, Linux
yüce Windows, Mac, Linux
MetinDüzenle
*düz metin modunda olduğunuzdan emin olun
Mac (varsayılan uygulama)
not defteri Windows (varsayılan uygulama)

Adım 2: function.php dosyasını düzenleyin ve yerel makinenize kaydedin. Function.php dosyanızı düzenlemek için kullandığınız programa bağlı olarak ekranınız farklı görünebilir. Atom.io'da PHP kodu şöyle görünür:

atom.io'da function.php'yi düzenleme

İhtiyacınız olan bilgileri ekleyin veya değiştirin, ardından dosyanızı kaydedin.

Adım 3: SFTP veya cPanel aracılığıyla web sunucunuza giriş yapın. Temanıza veya alt tema klasörünüze gidin ve functions.php dosyasını bulun.

Adım 4: Web sunucunuzdaki function.php dosyasının adını değiştirin . Düzenlenen sürümünüz hata içeriyorsa, orijinal function.php dosyanızın üzerine yazmak istemezsiniz. Elbette bir yedekleme yaptınız, ancak function.php dosyasını yedeğinizden çekmek yerine, orijinal dosyanız elinizin altında olacak.

Bir şeyler ters giderse function.php dosyasını hızlı bir şekilde geri yükleyebilmek istiyorsunuz, bu nedenle onu 'functions-orginal.php' gibi bir adla yeniden adlandırmak, orijinal dosyanın içeriğinin sunucunuzda korunmasını sağlayacaktır.

function.php dosyasını yeniden adlandırma

Adım 5: Functions.php'yi yerel makinenizden web sunucunuza yükleyin. SFTP veya cPanel kullanarak function.php dosyanızı temanızın veya alt temanızın ana dizinine yükleyin.

Adım 6: Doğru çalıştığından emin olmak için web sitenizi ziyaret edin. Functions.php dosyanızı yükledikten sonra, sitenizde her şeyin çalıştığından emin olmak için kontrol etmelisiniz. Her şeyin erişilebilir olduğundan ve doğru şekilde görüntülendiğinden ve çalıştığından emin olmak için ön ucu ziyaret edin ve WordPress panosuna giriş yapın.

Adım 7: Eski, yeniden adlandırılan function.php dosyasını silin. Sitenizin düzgün çalıştığını belirledikten sonra, functions-original.php'yi (veya yeniden adlandırdığınız her neyse) silebilirsiniz. Yolda bir sorun bulursanız, yaptığınız yedeklemeden function.php dosyanız yine de elinizde olmalıdır.

Functions.php'yi doğrudan cPanel'de düzenleme

Bir kaynak kodu düzenleyiciniz yoksa veya kullanmak istemiyorsanız, function.php'yi doğrudan cPanel'de düzenleyebilirsiniz (eğer sunucunuz cPanel kullanıyorsa). WordPress Tema Dosyası Düzenleyicisi'nde düzenleme yapmak gibi, yerel makinenizde çalışmaktan biraz daha risklidir. Düzenleme yaparken internet bağlantınız kesilirse değişikliklerinizi kaybedebilirsiniz. Ayrıca, potansiyel olarak orijinal functions.php dosyanızın üzerine yazma riskini de taşırsınız.

Adım 1: cPanel'de function.php dosyasını bulun . cPanel'de Dosya Yöneticisi'ne tıklayın.

Kök klasörünüze gidin (genellikle public_html veya www , ancak farklı bir adı olabilir).

Adım 2: function.php dosyasının bir kopyasını oluşturun . Yeni bir klasör eklemek için Dosya Yöneticisi ana menünüzde + Klasör'e tıklayın. Functions.php dosyanızın bir kopyasını oluşturmak ve onu yedek olarak buraya kaydetmek isteyeceksiniz.

Yeni klasörünüze, daha sonra kolayca bulabilmeniz için 'yedekleme işlevleri' gibi tanımlanması kolay bir ad verin. Yeni Klasör Oluştur 'u tıklayın.

function.php dosyasının cpanel yedeğini alma

Adım 3: Temanızda veya alt tema klasörünüzde functions.php'yi bulun ve yedekleme klasörüne kopyalayın. Tema veya alt tema klasörünüzde, functions.php'ye gidin ve dosya adına sağ tıklayın. Kopyala'yı seçin.

cpanel'de function.php dosyasını kopyalamak

Dosyayı kopyalamak istediğiniz yolu girmenizi isteyen bir iletişim kutusu görünecektir. Şu anda içinde bulunduğunuz klasörün yolu önceden doldurulacaktır, bu nedenle yedekleme klasörünüzün dosya yolu gördüğünüzden farklıysa doğru yolu yazın. Dosyaları Kopyala'yı tıklayın.

Adım 4: Tema veya alt tema dizininde function.php'ye geri gidin . Artık bir yedeğiniz olduğuna göre, tema veya alt tema dizinindeki function.php dosyasına geri dönebilir ve düzenlemeye başlayabilirsiniz.

Functions.php'ye sağ tıklayın, ardından Düzenle'ye tıklayın.

Adım 5: function.php dosyasını düzenleyin . Artık function.php dosyanızın içeriğini ekranınızda görmelisiniz. Bunun gibi bir şeye benzemeli:

cpanel'deki function.php dosyası örneği

İhtiyacınız olan bilgileri ekleyin veya değiştirin, ardından dosyanızı kaydedin.

WordPress sitenize işlev eklemek için bir eklenti kullanma

Functions.php dosyasını doğrudan değiştirmek yerine, web sitenize işlev eklemek için Code Snippets gibi bir eklenti kullanabilirsiniz. Sitenize çok sayıda işlev eklemeniz gerekiyorsa, hangi işlevlere hala ihtiyacınız olduğunu ve hangilerine ihtiyaç duymadığınızı takip etmek kolay olabilir.

Kod Parçacıkları, PHP kod bloklarınızı yönetmek için bir grafik kullanıcı arabirimi (GUI) sağlar. Kodun ne yapması gerektiğini bilmek için açıklamalar ekleyebilir ve bir eklentiyi etkinleştirme ve devre dışı bırakma gibi kod bloklarını açıp kapatabilirsiniz.

function.php dosyasında değişiklik yapmadığınız için, WordPress sitenize PHP işlevleri eklemek çok daha güvenli bir yöntemdir.

Functions.php güvenlik açıklarından nasıl korunur

Functions.php dosyası genellikle bilgisayar korsanlarının hedefidir, bu nedenle onu güvende tutmak yüksek bir öncelik olmalıdır. Functions.php dosyanızın güvenliğini sağlamanıza yardımcı olması için aşağıdaki adımları izleyin:

1. Bir güvenlik eklentisi yükleyin

Bir güvenlik eklentisi kullanarak, sitenizin çeşitli alanlarındaki bilgisayar korsanlarına karşı gelişmiş korumanın keyfini çıkaracaksınız.

Jetpack Security, sitenizi kötü niyetli saldırılara karşı korumanıza yardımcı olan ucuz bir seçenektir. Kötü amaçlı yazılım taraması ve tek tıklamayla düzeltmeler, kaba kuvvet saldırısı koruması, kesinti süresi izleme, sitenizin saldırıya uğrayıp uğramadığını ve ne zaman saldırıya uğradığını bilmeniz için bir etkinlik günlüğü ve iki faktörlü kimlik doğrulama (2FA) aracılığıyla oturum açma koruması içerir.

Jetpack ana sayfa mesajlaşma

Jetpack Security ayrıca sitenizi çekirdek WordPress dosyalarında, güncel olmayan veya güvenli olmayan eklentilerde ve diğer güvenlik açıklarında yapılan herhangi bir değişiklik için izler, böylece bir bilgisayar korsanı onları bulup faydalanmadan önce onları yakalayabilirsiniz.

Ayrıca, gerçek zamanlı WordPress yedeklemeleri sağlar, böylece bir şeyler ters giderse sitenize giriş yapamasanız bile temiz bir sürümü hızlı bir şekilde geri yükleyebilirsiniz.

2. WordPress çekirdek function.php dosyasına . htaccess dosyası

Web siteniz bir Apache sunucusunda barındırılıyorsa, bir . htaccess dosyasını, tüm wp-includes klasörüne erişimi engelleyerek WordPress temel functions.php dosyanızı korumaya yardımcı olur.

1. Adım: .htaccess'i indirin

SFTP veya cPanel kullanarak web sitenizin kök klasörüne gidin. üzerine sağ tıklayın. htaccess'i seçin ve dosyayı yerel bilgisayarınıza indirmek için İndir'i seçin.

Adım 2: wp-includes klasörüne erişimi engellemek için kod ekleyin

Bir kaynak kodunda veya düz metin düzenleyicide açın. htaccess'e gidin ve aşağıdaki kodu ekleyin:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>

Dosyanızı kaydedin. Editör programınızın dosya uzantısı içermediğinden emin olun. Notepad++ veya Text Edit kullanıyorsanız, bir .txt dosya uzantısı ekleyebilir. Dosya basitçe '.htaccess' olarak adlandırılmalıdır.

Adım 3: Düzenlenen . htaccess kök klasöre geri dön

Düzenlediğinizi yükleyin. htaccess dosyasını web sitenizin kök klasörüne geri yükleyin. Mevcut dosyanın üzerine yazmak isteyip istemediğiniz sorulacaktır. Tamam'ı tıklayın.

Şimdi senin . htaccess dosyası, function.php dahil wp-includes klasörünüzdeki tüm dosyalara harici erişimi engellemelidir.

3. Function.php'yi kullanarak function.php'ye erişimi engelleyin

Aşağıdaki kod parçacığını doğrudan function.php dosyasına ekleyerek function.php dosyanıza doğrudan erişimi engelleyebilirsiniz.

 if (!empty($_SERVER['SCRIPT_FILENAME']) && 'functions.php' == basename($_SERVER['SCRIPT_FILENAME'])) { die ('Access denied!'); }

4. Function.php dosyasını kök dizinin dışında saklayın

Bilgisayar korsanları, tüm standart WordPress dosyalarının varsayılan konumunu bilir. Hassas dosyaların konumunu kök dizinin dışında sınırlı erişimli bir klasöre değiştirmek, onları bilgisayar korsanlarının erişiminden uzak tutabilir. Bu işlem, .htaccess dosyanıza bir kod eklemekten biraz daha karmaşıktır, ancak web sitenize ek koruma katmanı için ekstra çabaya değer.

Sadece birkaç adımda, function.php dosyasını kök klasörün dışında güvenli hale getirebilirsiniz.

Adım 1: Mevcut function.php dosyanızı indirin

Temanızın function.php dosyasını taşıyorsanız, onu wp-content → theme → temanız altında bulabilirsiniz. Alt temanızın dosyası wp-content → theme → yourtheme-child içinde olacaktır.

Functions.php dosyanızı bulduktan sonra, SFTP veya cPanel aracılığıyla bilgisayarınıza indirin.

Adım 2: Kök klasörün dışında yeni bir dizin oluşturun

Kök dizininizin dışına, bir sonraki dosya klasörü düzeyine gidin. Kök klasörünüzün adını ve diğer birkaç klasörü görmelisiniz. Bu dizinde, sağ tıklayın ve Dizin oluştur öğesini seçin.

Filezilla'da bir dizin oluşturma

Dizininize, function.php dosyanızın konumu olarak hatırlanması kolay bir ad verin.

Adım 3: Function.php dosyasını yeni klasörünüze yükleyin

Daha önce indirdiğiniz function.php dosyasını SFTP veya cPanel aracılığıyla yeni klasörünüze yükleyin.

function.php dosyasını yükleme

Yeni klasörünüzü ve function.php dosya izinlerinizi kontrol edin ve bunların 600'e ayarlandığından emin olun.

function.php dosyası için izinleri ayarlama

Adım 4 : WordPress'i yeni function.php dosyasına yönlendirin

Yeni dizininizde bir function.php dosyasının yanı sıra tema klasörünüzde bulunan orijinal function.php dosyasını da bulundurmalısınız. WordPress'in doğru dosyayı bulması ve kullanması için, tema dosyanızın function.php dosyasındaki tüm bilgileri ve aşağıdaki kod parçacığını silmek isteyeceksiniz:

 <?php include('/home3/usr/securefunctions/functions.php'); ?>

Not: Sunucunuzun dizin adlarını kullanacağınız için dosya yolunuz farklı görünecektir.

cPanel'de, kök dizinin function.php dosyasını açıp doğrudan düzenleyebilir veya daha önce yerel makinenize indirdiğiniz kopyayı bir kaynak kodu düzenleyicisi kullanarak düzenleyebilirsiniz. Bu örnek için, daha önce indirdiğimiz kopyayı Atom.io kullanarak düzenledik.

funtions.php dosyanızı kaydedin ve tema dizininize geri yükleyin.

function.php dosyasını ftp yoluyla döndürme

Dosyanın üzerine yazmak isteyip istemediğiniz sorulacak. Tamam'ı tıklayın.

Şimdi, WordPress yeni function.php dosyanıza kök klasörün dışındaki güvenli konumunda başvurmalıdır.

4. Functions.php dosyanızın adını değiştirin

Functions.php dosyanızın adını değiştirmek, onu bilgisayar korsanlarından korumak için atabileceğiniz başka bir adımdır. Bu dosyayı kök klasörünüzün dışında barındırmanız gerekecek, bu nedenle function.php'yi kök dizinin dışında gizle içindeki işlemi izlediyseniz, yalnızca birkaç ek adım atmanız gerekir.

Adım 1: Güvenli dizininizde, kök klasörün dışında, function.php dosyasının adını değiştirin.

Kök dizininizin dışında barındırılan function.php klasörüne gidin ve dosya adını 'keep-out.php' veya 'bu-aradığınız-olmayan-işlevler-aradığınız-olmayanlar gibi benzersiz bir adla değiştirin. php' . Tamam, bu sonuncusu biraz uzun, ancak bunu function.php dosyasının tema klasörü kopyasındaki dosya yoluna eklediğiniz sürece ne dediğiniz önemli değil.

Adım 2: Ad değişikliğini yansıtmak için kök dizininizdeki function.php içindeki kodu düzenleyin

Artık adı function.php dışında bir adla değiştirdiğinize göre, functions.php'nin tema dizini kopyasının doğru dosya adını gösterdiğinden emin olmanız gerekir.

Functions.php dosyasının kök klasör kopyasını yerel bilgisayarınıza indirin ve metin düzenleyicinizle düzenleyin. Functions.php dosya adını yeni dosya adınızla değiştirin, ardından dosyanızı kaydedin.

 <?php include('/home3/usr/secureconfig/keep-out.php'); ?>

3. Adım: functions.ph p'yi tema dizinine geri yükleyin

Mevcut dosyanın üzerine yazmak isteyip istemediğiniz sorulacaktır. Tamam'ı tıklayın.

Şimdi WordPress, yeniden adlandırılan işlevler dosyanıza işaret etmelidir.

Functions.php için ek güvenlik katmanları

Wp-config dosyanızda, yeniden adlandırma, kök dizinin dışında barındırma ve genel erişimi reddetme gibi benzer değişiklikler yaparak, function.php dosyanız da dahil olmak üzere, web sitenize bir bütün olarak ek koruma ekleyebilirsiniz.

Functions.php dosyalarınızda şüpheli kod görüyorsanız ve zaten saldırıya uğramış olabileceğinizden endişeleniyorsanız, WordPress web sitenizdeki kötü amaçlı yazılımları nasıl tespit edip kaldıracağınızı öğrenmek isteyeceksiniz.

WordPress'te function.php'ye hangi kodu ekleyebilirim?

WordPress function.php dosyanıza ekleyebileceğiniz birçok farklı kod parçacığı vardır. Ancak, birçok işlev için bir eklenti kullanarak (veya kendi eklentinizi yazarak) genellikle daha iyi hizmet alırsınız. Eklemek istediğiniz kod temanıza özel ise, o PHP kodunu alt temanızın function.php dosyasına ekleyebilirsiniz.

Aşağıda, çocuk temanızın functions.php dosyasına ekleyebileceğiniz birkaç kullanışlı fonksiyon bulunmaktadır:

Functions.php'de yeni bir yönetici kullanıcı ekleme

WordPress kontrol panelinize yönetici erişimini kaybettiyseniz ve kullanıcı adınızı veya şifrenizi e-posta yoluyla kurtaramıyorsanız, barındırma hesabınız aracılığıyla yeni bir yönetici kullanıcı oluşturabilirsiniz. SFTP veya cPanel üzerinden, function.php dosyanızı indirebilir ve siteniz için yeni bir yönetici kullanıcı oluşturmak için aşağıdaki kodu ekleyebilirsiniz.

 function qode_add_new_admin_account() { $user = 'your-username'; $password = 'your-password'; $email = 'your-email'; if ( ! username_exists( $user ) && ! email_exists( $email ) ) { $user_id = wp_create_user( $user, $password, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action( 'init', 'qode_add_new_admin_account' );

Yukarıdaki kodda, 'kullanıcı adınız', 'parolanız' ve 'e-posta adresiniz'i kendi kimlik bilgilerinizle değiştirin. Functions.php dosyanızı kaydedin ve tema klasörünüze yeniden yükleyin. Bu, kodda atadığınız kullanıcı adı, şifre ve e-posta adresiyle yeni bir yönetici kullanıcı oluşturacaktır.

Dosyanızı yükledikten sonra, sitenizin giriş sayfasına gidin ve giriş yapmak için yeni kullanıcı adınızı ve şifrenizi kullanın. Girişiniz başarılı olduktan ve yönetici ayrıcalıklarına sahip olduğunuzu onayladıktan sonra, eklediğiniz kodu kaldırmalısınız. function.php'den yeni yönetici hesabınızı oluşturun.

Function.php'de görüntü boyutları ekleme ve kaldırma

WordPress Medya Kitaplığına bir resim yüklediğinizde, resminizin birden çok varyasyonu oluşturulur. WordPress, tam boyutlu resminize ek olarak kullanılan varsayılan küçük resim, küçük, orta ve büyük boyutlara sahiptir. Temanız genellikle sitenizin ayrı bölümleri için en uygun resim boyutunu çeker.

Kendi temanızı oluşturuyorsanız veya ek özel resim boyutlarına uyum sağlamak için bir alt temada değişiklik yapmanız gerekiyorsa, bunu function.php dosyanızda yapabilirsiniz.

Aşağıdaki kodu kullanın ve özel resim boyutu adınızı 'özel-küçük-kare' ve 'özel manzara'dan kullanmak istediğiniz adla değiştirin. Özel görüntü boyutu adınızın yanındaki sayılar, görüntü boyutunu piksel cinsinden temsil eder, bu nedenle önce genişlik ve ikinci yükseklik olmak üzere piksel değerlerini girin.

 function register_custom_image_sizes() { if ( ! current_theme_supports( 'post-thumbnails' ) ) { add_theme_support( 'post-thumbnails' ); } add_image_size( 'custom-small-square', 450, 450, true ); add_image_size( 'custom-landscape', 1000, 600 ); } add_action( 'after_setup_theme', 'register_custom_image_sizes' );

Keep in mind that additional custom image sizes can weigh down your site and impact load times. If you have some WordPress default image sizes that your theme doesn't use, you may want to delete and disable those to make room for your custom sizes.

If you want to disable WordPress default image sizes, you can place this code snippet into your functions.php file:

 add_filter( 'intermediate_image_sizes_advanced', 'prefix_remove_default_images' ); // This will remove the small, medium, and large default image sizes. function prefix_remove_default_images( $sizes ) { unset( $sizes['small']); // 150px unset( $sizes['medium']); // 300px unset( $sizes['large']); // 1024px return $sizes; }

If you only need to disable one or two sizes, you can only add those sizes to the code above and delete the code that you don't need.

Use functions.php to allow additional file types in uploads

WordPress only allows a few different file types to be uploaded in your WordPress dashboard. This is a reasonable security measure, but you might encounter a situation where you need to upload a file type that's not natively allowed.

To add more allowed file types to WordPress, add the following code to your child theme's functions.php :

 function additional_upload_file_types($mime_types){ $mime_types['stl''] = 'application/sla'; $mime_types['stl'] = 'application/vnd.ms-pki.stl'; $mime_types['stl'] = 'application/x-navistyle'; return $mime_types; } add_filter('upload_mimes', 'additional_upload_file_types', 1, 1);

For the above example, we used the stl file type, which is a CAD file type. It's an unusual file type to upload to a website outside of certain niche industries, but if your site is for an industrial designer, engineering firm, or even an orthodontics lab, you might find the ability to upload STL files really useful.

You can replace the $mime_type variable with whatever file extension suits the needs of your website. You'll also need to include the media type and subtype after that (eg 'application/sla' or 'image/octet-stream'). Here's a complete list of mime types that you can refer to.

Frequently asked questions about editing the functions.php file in WordPress

We've covered what the functions.php file is, how to find functions.php , how to access it, how to edit it, and a few code snippets you can add to your functions.php file. We'll wrap things up with a few helpful answers to frequently asked questions.

Do I really need to use a child theme to edit functions.php ?

Kısa cevap? Evet.

If you're a theme developer, you'll definitely want to add your theme-specific functions directly to your theme's functions.php file. If you're modifying a theme from another developer that will get regular updates, however, you'll absolutely want to use functions.php within a child theme.

Most theme developers will periodically make updates to their themes for security and performance reasons, or to add new features. If you change the parent theme's functions.php file, those changes will all be overwritten when you update to your theme's latest version. All your hard work and customizations — poof! Gone.

Child themes aren't touched when the parent theme updates, so if you make changes to your child theme's functions.php file, your changes will be preserved any time you update your parent theme.

I edited functions.php and now I don't have access to my WordPress dashboard. Yardım!

In the unfortunate event that you edited the functions.php file and caused a critical error on your site that kept you from accessing the WordPress dashboard, don't worry — all is not lost!

There are a few things you can do to restore access to your site. You can edit functions.php via SFTP and a text editor or directly in cPanel if you know which bit of code caused the issue. Alternatively, you can restore functions.php from a backup or download a fresh copy of functions.php from your theme developer.

I know what code I messed up. I just need to access and edit functions.php to fix it.

See How to edit functions.php above for instructions on how to access and edit your theme or child theme's functions.php file.

I have no clue what I did to my functions.php file, but I have a backup.

If you have a backup on hand, you can access your files either on your web host's server or your remote server (depending on where you have opted to store these files), and use them to replace your corrupt functions.php file via SFTP or cPanel.

If you feel more comfortable restoring your entire site backup rather than trying to restore just the functions.php file, our article, “How to Restore WordPress from a Backup” goes in depth on the different methods you can use to restore your WordPress site.

I have no idea what code caused the problem and I didn't make a backup.

If you don't have a backup, you can download a fresh copy of the theme you're using from your theme developer, extract the functions.php file, and overwrite the broken functions.php file on your server via SFTP or cPanel.

Note: If you're using a theme that hasn't been updated in awhile, you may encounter issues in overwriting functions.php with a version that's from a much more recent update. If you encounter issues, you might be better off just manually updating your entire theme to the latest version. Alternatively, you can contact your theme developer to get the theme files for your current version and use that version of functions.php .

Can I add JavaScript to my functions.php file?

Yes, you can add code to your functions.php file that will add your custom JavaScript to either specific pages, posts, or all pages and posts on your site. This article covers all the different ways you can add JavaScript to your functions.php file.