WordPress Functions.php Dosyasıyla Yapabileceğiniz 11 Harika Şey

Functions.php dosyası, bir WordPress web sitesinin web yöneticileri için sahip olduğu en önemli dosyalardan biridir. Üçüncü taraf eklentileri veya özel olarak hazırlanmış temaları kullanmalarını gerektirmek yerine, web sitesinin bazı özelliklerini ve işlevlerini doğrudan değiştirmelerine olanak tanır. Büyük potansiyeline rağmen, bu dosya genellikle yeni WordPress kullanıcıları tarafından yeterince takdir edilmemektedir.

Bu yüzden bu makaleyi WordPress functions.php dosyasının ne olduğunu açıklamaya ve onunla yapabileceğiniz harika şeylerden bazılarını paylaşmaya adadık. Bunların ne olduğu hakkında size bir fikir vermek veya herhangi birine atlamak için aşağıdaki listeye göz atabilirsiniz:

  • Altbilgiye dinamik bir telif hakkı bildirimi ekleme

  • WordPress URL’lerini güncelleme

  • Oturum açtıktan sonra kullanıcıları yeniden yönlendirme

  • Yeni bir yönetici kullanıcı ekleme

  • Ek görüntü boyutları ekleme

  • Özel yazı tipleri ekleme

  • Google Analytics’i ekleme

  • Ek yükleme dosyası türlerine izin verme

  • Arama kapsamını daraltma

  • Özel widget alanları oluşturma

  • Özel widget’lar oluşturma

WordPress functions.PHP Dosyasının Kısa Bir Açıklaması

functions.php dosyası, hem ebeveyn hem de alt olmak üzere her WordPress temasının temel dosyalarından biridir. Hem tema geliştiricilerin hem de web yöneticilerinin bir temanın sahip olabileceği ek özellikleri veya işlevleri tanımlamasına olanak tanır. Yani, bu dosya, web sitenizi iyileştiren özel kod parçacıkları deposu olarak hizmet verebilir. Eklemeyi seçtiğiniz tüm özel kod parçacıkları, bir FTP istemcisi ve seçtiğiniz bir metin düzenleyiciyle düzenleyebileceğiniz dosyanın sonuna eklenmelidir. Fakat aklınızda bulundurmanız gereken iki şey var.

İlk şey, functions.php dosyasının doğrudan içinde bulunduğu WordPress temasına bağlı olmasıdır. Bu yüzden temasını devre dışı bırakmayı seçerseniz, dosyaya eklediğiniz kod parçacıkları artık çalışmayacaktır. Bu yüzden mevcut temanızı devre dışı bırakır ve başka bir temayı kullanmayı seçerseniz, önceki functions.php dosyanızdaki tüm özel kod parçacıklarını yenisine kopyalamanız/yapıştırmanız gerekir.

İkincisi, WordPress temalarının temel dosyalarından biri olarak, functions.php dosyasının her tema güncellemesinde üzerine yazılacağıdır. Bu yüzden ana temanızın functions.php dosyasına bir kod parçacığı eklerseniz, bir sonraki tema güncellemesinde onu kaybetme riskiyle karşı karşıya kalırsınız. Bundan kaçınmak için, web yöneticileri genellikle kod parçacıklarını bir alt temanın functions.php dosyasına dahil etmeyi tercih eder.

Bir alt tema, functions.php dosyasında yaptığınız değişiklikleri güncellemelerden korurken, temaları değiştirmeyi seçmenizin pek bir faydası olmayacaktır. Her iki olasılığı da ele almanın en iyi yolu, özel kod parçacıklarınızı functions.php dosyası yerine siteye özgü bir eklentinin içine yerleştirmektir. Bu şekilde, snippet’ler bir temaya değil, eklentinize bağlıdır ve eklenti aktif olduğu sürece çalışırlar. Bununla birlikte siteye özel bir eklenti kullanmak veya alt temanızın functions.php içine snippet’ler eklemek sizin seçiminizdir.

WordPress functions.PHP Dosyasıyla Yapabileceğiniz Bazı Şeyler

Artık functions.php dosyasının ne işe yaradığına dair daha net bir resme sahip olduğunuza göre, onu kod parçacıklarıyla nasıl değiştirebileceğinize ve siteniz için bazı ek özellikler ve işlevler oluşturabileceğinize bir göz atacağız. Göz atabileceğiniz ve aralarından seçim yapabileceğiniz 11 farklı kod parçacığı hazırladık.

Aşağıda gösterilen kodlardan herhangi birini uygulamadan önce, güvenlik önlemi olarak web sitenizin yedeğini almanızı kesinlikle öneririz. Ayrıca daha önce de belirttiğimiz gibi, functions.php dosyanıza eklemeye karar verdiğiniz snippet’ler FTP aracılığıyla eklenmelidir. Bilmiyorsanız, FTP kullanımıyla ilgili makalemizi de incelemenizi öneririz. Bunu söyledikten sonra devam edelim.

Alt Bilgiye Dinamik Telif Hakkı Bildirimi Ekleme

Sitenizin altbilgisine bir telif hakkı bildirimi eklemek, telif hakkı ihlaline karşı mücadele etmenize yardımcı olacaktır. Fakat bu bildirimler kolaylıkla yapılabilse de, nadiren dinamiktirler. Bu durum bunları düzenli olarak elle güncellemeniz gerekeceği anlamına gelir. Fakat otomatik olarak güncellenen dinamik telif hakkı bildirimleri oluşturarak kendinizi bu zahmetten kurtarabilirsiniz. Aşağıda, bunu yapmanıza yardımcı olacak bir kod parçası örneğini görebilirsiniz.

function custom_copyright_text( $atts, $content = null ) {
$default_atts = array(
"year_from" => ''
);
$params = shortcode_atts( $default_atts, $atts );
$html="<div class="copyright">Copyright &copy; ";
if ( ! empty( $params['year_from'] ) ) {
$html .= $params['year_from'] . ' - ';
}
$html .= date( 'Y' ) . ' ';
if ( ! empty( get_bloginfo( 'name' ) ) ) {
$html .= '<span class = "site-title">' . get_bloginfo( 'name' ) . '</span>' . ' ';
}
if ( ! empty( $content ) ) {
$html .= '<span class="content-after">' . esc_html( $content ) . '</span>';
}
$html .= "</div>";
return $html;
}
add_shortcode( 'copyright_text', 'custom_copyright_text' );

Bu kod, dinamik bir telif hakkı bildiriminin oluşturulmasını sağlayan, copyright_text adlı bir kısa kodu temsil eder. Kısa kod çıktısı, bir Telif Hakkı etiketi ve ardından bir telif hakkı simgesi gösterir. Bundan sonra, cari yıl gösterilecektir. Alternatif olarak, başlangıç ​​yılını girmenizi gerektirecek bir yıl aralığı göstermeyi seçebilirsiniz.

Son olarak çıktı, eklemeyi seçtiğiniz herhangi bir metni de gösterecektir. Fakat bu çıktıyı elde etmek için, altbilgi pencere öğesi alanlarından birinde bir kısa kodu nasıl düzgün bir şekilde “çağıracağınızı” bilmeniz gerekir. Bunun nasıl yapılacağı, bu kısa kod ve kullanımı hakkında daha ayrıntılı bir açıklama için, dinamik telif hakkı tarihi bildirimleri oluşturma hakkındaki makalemize göz atabilirsiniz.

WordPress URL’lerini güncelleme

Yakın zamanda etki alanı değiştirdiyseniz veya HTTP’den HTTPS’ye geçiş yaptıysanız, WordPress URL’lerinizi güncellemeniz, atmanız gereken en önemli adımlardan biridir. Ek olarak WordPress URL’lerinizi güncellemek, oturum açma sorunlarıyla uğraşırken önemli bir sorun giderme adımıdır. Şans eseri, bunu yapmak için, functions.php dosyasına kod eklemek de dahil olmak üzere kullanabileceğiniz birkaç yöntem vardır.

WordPress URL’lerinizi functions.php dosyanız aracılığıyla güncellemek için, aşağıdaki kodu dosyanın sonuna eklemeniz gerekir.

update_option( 'siteurl', 'https://your-website.com' );
update_option( 'home', 'https://your-website.com' );

Bu kod, WordPress ve Site adreslerinizi girdiğiniz değerlerle günceller. Açıklığa kavuşturmak için, WordPress adresi, WordPress çekirdek dosyalarınızın konumunu temsil ederken, Site adresi, kullanıcıların web sitenize erişmek için yazdıkları URL’yi temsil eder.

Bu yüzden yukarıda gösterilen kodu kullanırken, web siteniz.com bölümünü gerçek web sitenizin URL’siyle değiştirdiğinizden emin olun. Ayrıca web sitenizin URL’si www içeriyorsa, eklediğinizden emin olun.

Lütfen bu kod parçacığının yalnızca bir kez kullanılması ve ardından kaldırılması gerekenlerden biri olduğunu unutmayın. Bu yüzden functions.php dosyanıza kodu ekledikten ve sonuçları kontrol ettikten sonra onu silmelisiniz. Aksi halde web sitenize zarar verebilir. Bu konuda daha fazla bilgi için WordPress URL değiştirme yazımıza göz atabilirsiniz.

Oturum Açtıktan Sonra Kullanıcıları Yönlendirme

Kullanıcıları oturum açtıktan sonra yönlendirmek, özellikle sitenizde yeniyseler, deneyimlerini düzene sokmanın oldukça yararlı bir yoludur. Bunu yapmak isteyebileceğiniz sebeplerden bazıları, müşterileri alışveriş sayfasına, aboneleri duyuru sayfasına veya acenteleri alternatif bir panoya yönlendirmek olabilir. Bunların hepsi özel kod kullanılarak elde edilebilir. Aşağıda, bir yeniden yönlendirme kodunun nasıl görünebileceğine dair bir örnek bulabilirsiniz.

function custom_login_redirect( $redirect_to, $request, $user ) {
if ( isset( $user->roles ) && is_array( $user->roles ) ) {
if ( in_array( 'administrator', $user->roles ) || in_array( 'editor', $user->roles ) || in_array( 'author', $user->roles ) ) {
$redirect_to = admin_url();
} else if ( in_array( 'customer', $user->roles ) || in_array( 'shop_manager', $user->roles ) ) {
$redirect_to = home_url( '/shop' );
} else {
$redirect_to = home_url();
}
}
return $redirect_to;
}
add_filter( 'login_redirect', 'custom_login_redirect', 10, 3 );

Bu kod, kullanıcı rollerini üç kategoriye ayırır ve buna göre yönlendirir. Yönetici, editör ve yazar kullanıcı rolüne sahip olanlar varsayılan kontrol paneline yönlendirilir, müşteriler ve mağaza yöneticileri Mağaza sayfasına (sayfa URL’si web sitenizin-url’si/mağazadır) yönlendirilirken, diğer tüm kullanıcılar ana sayfa. Bu durum kullanabileceğiniz veya web sitenize uyarlayabileceğiniz çok özel bir giriş sonrası yeniden yönlendirmesidir. Konuyla ilgili daha fazla bilgi için, oturum açtıktan sonra kullanıcıları yeniden yönlendirme hakkındaki makalemize göz atın.

Yeni Yönetici Kullanıcı Ekleme

Yönetici dahil her WordPress kullanıcısı, WordPress panosuna erişimini en az bir kez kaybetmiştir. Çoğu zaman, bunun nedeni unutulan bir paroladır. Ayrıca kurtarma e-postasını kullanarak parolanızı kurtarmak görece kolay olsa da, bunun nasıl yapılacağını bilmek kullanışlı olabilir.

Yönetici hesabınızın yanlışlıkla silinmesi, saldırıya uğraması veya kurtarma e-postası size ait olmadığı için parolanın kurtarılamaması gibi farklı bir parola kurtarma yaklaşımının gerekebileceği durumlar arasında. Bu durumlarda, yalnızca yeni bir yönetici kullanıcı eklemek, WordPress kontrol paneline erişiminizi geri almanın en kolay yoludur.

Siteniz için yeni bir yönetici kullanıcı oluşturmak için functions.php dosyanızı ve aşağıdaki kod parçacığını kullanabilirsiniz.

function qode_add_new_admin_account() {
$user="insert-username-here";
$password = 'insert-password-here';
$email="insert-email-here";
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' );

Kod oldukça basittir; eklediğiniz kullanıcı adı, şifre ve e-postaya sahip olacak, yönetici ayrıcalıklarına sahip yeni bir kullanıcı oluşturur. Söylemeye gerek yok, sahte verileri (buraya kullanıcı adını girin, buraya şifreyi girin ve buraya e-postayı girin) gerçek kullanıcı bilgileriyle değiştirmelisiniz. Kodun sahip olduğu tek koşul, girdiğiniz kullanıcı adı ve e-postanın web sitenizdeki mevcut kullanıcılara ait olmamasıdır. Koda uygun bilgileri eklerken bunu aklınızda bulundurduğunuzdan emin olun.

Kodu functions.php dosyanıza ekledikten sonra, oturum açma sayfanıza gidin ve oturum açmayı deneyin. Oturum açtığınızda, yalnızca olması gerektiği için, functions.php dosyanızdan eklediğiniz kodu çıkardığınızdan emin olun. bir kere kullanılmış. Yönetici kullanıcı oluşturma hakkında daha fazla bilgi edinmek ve bunu yapmanın alternatif bir yolunu görmek için phpMyAdmin aracılığıyla kullanıcı ekleme hakkındaki makalemizi inceleyebilirsiniz.

Ek Görüntü Boyutları Ekleme

Medya Kitaplığınıza her resim yüklediğinizde, WordPress bu görüntünün birkaç varsayılan varyasyonunu oluşturur. Bunun da ötesinde, WordPress, yüklediğiniz resimlerin yönü ve boyutlarıyla daha iyi çalışan özel resim boyutları eklemenize olanak tanır. Çok fazla özel resim boyutu web sitenizi yavaşlatabileceğinden, bu işlevsellik idareli kullanılmalıdır, fakat buna sahip olmak yine de çok yararlıdır.

functions.php dosyanıza kod ekleyerek, WordPress’te daha fazla özel görüntü boyutu ekleyebilirsiniz.

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' );

Bu kod iki bölüme ayrılabilir: küçük resimler için destek ekleme ve add_image_size() işlevini kullanarak iki yeni özel görüntü boyutu kaydetme. İlk bölüm bir önkoşuldur ve mevcut temanız yoksa diye ekledik. İkinci bölümde, sırasıyla custom-small-square ve custom-landscape başlıklı kimliklerle iki özel görüntü boyutu ekledik. İlki için kullandığımız nitelikler, 450×450 piksellik görüntü boyutlarını ve ortaya çıkan görüntünün orijinalin merkezi olarak kırpılmış bir versiyonunu temsil edeceğini gerektirir. İkincisine gelince, kullandığımız nitelikler, orijinal görüntünün en az birine sığana kadar küçültüleceği anlamına gelir…

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Birlikte Büyüyen Bir İş Kurma Fırsatı!

İş birliği yaparak, işinizi yalnızca bir adım öteye taşıyoruz. Daha detaylı bilgi isterseniz mail adresinizi bize iletebilirsiniz.