Contact Form 7 Dosyalarını Sadece İlgili Sayfaya Yükleme

Contact Form 7 (CF7), WordPress için ücretsiz bir iletişim formu eklentisidir. Hafiftir, özel CSS stilleri eklemek kolaydır ve iyi belgelere sahiptir. Ancak, tüm harika özelliklerine rağmen, eklentinin en büyük sorunu Javascript ve CSS dosyalarının form olmayan sayfalara da yükleniyor olmasıdır. Bu durum, gereksiz şişkinlik yaratır ve sonuç olarak web sitenizin yavaşlamasına neden olur.

Bu kılavuzda, İletişim Formu dosyalarını sadece gerekli sayfalara yüklemenin basit bir yolunu göstereceğiz…

Contact Form 7 komut dosyalarının yalnızca form içeren sayfaya/sayfalara yüklenmesi için deneyebileceğiniz en iyi yöntem function.php dosyanıza basit bir kod eklemektir. Aşağıda gerekli tüm adımları ayrıntılı olarak açıklayacağız.

  • Öncelikle, Contact Form 7 css ve js dosyalarının tüm sayfalardan kaldırılması ve tekrar yüklenmesini önlemek için temanızın function.php dosyasına aşağıdaki kodu ekleyin (Functions.php’yi WordPress Yönetici alanında Görünüm > Düzenleyici‘ye giderek bulabilirsiniz):
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );

Şimdi, İletişim Formu 7 dosyalarını form içeren belirli sayfalara yükleyeceğiz. Tek yapmamız gereken Contact Form 7 eklenti dosyalarının yüklenmesini istediğiniz sayfaları belirleyip aşağıdaki kod üzerinde gerekli düzenlemeyi yapmak.

  • Kullandığınız tek form iletişim sayfasındaysa, aşağıdaki kodu daha önce eklediğiniz kodların (yukarıdaki kodlar) hemen altına ekleyin:
add_action('wp_enqueue_scripts', 'load_wpcf7_scripts');
function load_wpcf7_scripts() {
  if ( is_page('iletisim') ) {
    if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
      wpcf7_enqueue_scripts();
    }
    if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
      wpcf7_enqueue_styles();
    }
  }
}

Turuncu renkle vurgulanan kısım form içeren sayfamız. Yukarıdaki kod parçacığı, WordPress’e, İletişim Formu 7 komut dosyalarını yalnızca iletişim sayfasına yüklemesini söylüyor. Ancak siz formunuzu hangi isimli sayfaya eklediyseniz o sayfanın ismini girmelisiniz.

  • Sitenizde birden çok iletişim formunuz varsa, is_page() işleviyle bir dizi kullanarak dosyaları bu sayfalara yükleyebilirsiniz. Yani yukarıdaki is_page('iletisim') ) satırı yerine aşağıdaki satırı ekleyip sayfa isimlerini ihtiyacınıza göre düzenleyin:
is_page( array( 'iletisim', 'hakkimizda', 'teklif-al',) );
  • Dizi işlevi içinde farklı sayfaları hedeflerken, gönderilerin, sayfaların ve kimliklerin herhangi bir kombinasyonunu kullanabilirsiniz. Örneğin, sayfa isimleri yerine sayfa ID’sini ve hatta iletişim formu eklediğiniz bir yazının ID numarasını da ekleyebilirsiniz.
  • İşiniz bittiğinde değişiklikleri kaydetmeyi unutmayın.

Contact Form 7 dosyaları yalnızca gerekli sayfalara yükleme işlemi, sitenizin yükleme hızını artırmanın harika bir yoludur. Yukarıdaki işlemin ardından, web siteniz artık yalnızca gerekli sayfalarda Contact Form 7 dosyalarını yükleyecek ve siteniz bir tık daha hızlanmış olacak.

NOT: Tema dosyalarını direkt düzenlemek yerine, bir alt tema veya code snippets gibi bir eklenti kullanmanızı öneririz. Aksi durumda, temanızı güncellediğinizde eklediğiniz tüm kodlar ve yaptığınız değişiklikler silinebilir.


Yorum yapın