Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Kupası
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPress’te Formlar için Gezinmeyi Onayla Açılır Penceresi Nasıl Gösterilir

Bir sayfayı yorumunuzu göndermeden veya yarım doldurulmuş bir formla yanlışlıkla kapatmak çok sinir bozucu olabilir. Yakın zamanda, kullanıcılarımızdan biri bize okuyucularına gezinmeyi onayla açılır penceresi göstermenin mümkün olup olmadığını sordu.

Bu küçük açılır pencere kullanıcıları uyarır ve yanlışlıkla yarım doldurulmuş ve gönderilmemiş formları bırakmalarını önler. Kullanıcı deneyimini iyileştirmek ve ziyaretçilerin bir şeye sıfırdan başlamak zorunda kalmasını önlemek için iyi bir yoldur.

Ancak bu özellik doğru şekilde ayarlanmazsa can sıkıcı olabilir ve sitenizi bozarak kullanıcıları hayal kırıklığına uğratabilir. Bu özelliği sorunsuz bir şekilde eklemek ve bu sorunlardan kaçınmak için güvenilir bir yola ihtiyacınız olacak.

Bu yüzden size özel yapım bir eklenti kullanarak bunu nasıl yapacağınızı göstermek istiyoruz. Merak etmeyin, düşündüğünüzden daha kolay!

Bu makalede, WordPress formları için gezinme açılır penceresini nasıl onaylayacağınızı göstereceğiz.

Confirm navigation popup when user leaves a form unsubmitted

Gezinmeyi Onayla Açılır Penceresi Nedir? Neden İhtiyacınız Var?

Bir kullanıcının WordPress blogunuza yorum yazdığını varsayalım. Zaten birkaç satır yazdılar, ancak dikkatleri dağıldı ve yorum göndermeyi unuttular. Şimdi, eğer tarayıcılarını kapatırlarsa, yorum kaybolacaktır.

Gezinmeyi onayla açılır penceresi onlara yorumlarını tamamlama şansı verir.

Bu özellik WordPress yazı editörü ekranında çalışırken gösterilir. Kaydedilmemiş değişiklikleriniz varsa ve sayfadan ayrılmaya veya tarayıcıyı kapatmaya çalışırsanız, bir uyarı açılır penceresi görünecektir.

Unsaved changes warning popup in WordPress post editor

Gezinmeyi onayla açılır penceresi oluşturmak kullanıcı deneyimini, dönüşüm oranlarını ve kullanıcı güvenini artırabilir.

İşte böyle: Kullanıcılara bir uyarı özelliği sunmak, kullanıcılarınızın deneyimini önemsediğinizi gösterir ve bu da sadakati ve tekrar ziyaretleri teşvik etmeye yardımcı olabilir. Kullanıcılar, ilerlemelerini kaybetmeyeceklerini bilirlerse formları veya yorumları tamamlama olasılıkları daha yüksektir.

Bunu göz önünde bulundurarak, bu uyarı özelliğini WordPress yorumlarına ve sitenizdeki diğer formlara nasıl ekleyeceğinizi göstereceğiz. İşte bu kılavuzda bahsedeceğimiz her şeye hızlı bir genel bakış:

Hazır mısınız? Hadi başlayalım.

WordPress’te Gönderilmemiş Formlar için Gezinmeyi Onayla açılır penceresini göster

Bu eğitim için özel bir eklenti oluşturacağız, ancak endişelenmeyin. Eklentiyi web sitenize yüklemek için bu eğitimin sonunda da indirebilirsiniz.

Ancak, kodu daha iyi anlamak için kendi eklentinizi oluşturmayı denemenizi isteyeceğiz. Bunu önce yerel bir kurulumda veya hazırlık sitesinde yapabilirsiniz.

İlk olarak, bilgisayarınızda yeni bir klasör oluşturmanız ve adını confirm-leaving koymanız gerekir. confirm-leaving klasörünün içinde başka bir klasör oluşturacak ve adını js koyacaksınız.

Şimdi Not Defteri gibi bir düz metin editörü açalım ve yeni bir dosya oluşturalım. İçine aşağıdaki kodu yapıştırın:

[php]
<?php
/**
 * Confirm Leaving
 * Plugin Name: Confirm Leaving
 * Plugin URI:  https://www.wpbeginner.com
 * Description: This plugin shows a warning to users when try they forget to hit submit button on a comment form.
 * Version:     1.0.0
 * Author:      WPBeginner
 * Author URI:  https://www.wpbeginner.com
 * License:     GPL-2.0+
 * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
 */

function wpb_confirm_leaving_js() { 

     wp_enqueue_script( 'Confirm Leaving', plugins_url( 'js/confirm-leaving.js', __FILE__ ), array('jquery'), '1.0.0', true );
}
add_action('wp_enqueue_scripts', 'wpb_confirm_leaving_js');
[/php]

Bu PHP işlevi, web sitenizin ön ucuna basitçe bir JavaScript dosyası ekler.

Devam edin ve bu confirm-leaving.php dosyasını ana confirm-leaving klasörünün içine kaydedin.

Şimdi, bu eklentinin yüklediği JavaScript dosyasını oluşturmamız gerekiyor. Bunu metin düzenleyicinizde yeni bir dosya oluşturarak ve bu kodu içine yapıştırarak yapabilirsiniz:

[javascript]
jQuery(document).ready(function($) { 

$(document).ready(function() {
    needToConfirm = false;
    window.onbeforeunload = askConfirm;
});

function askConfirm() {
    if (needToConfirm) {
        // Put your custom message here
        return "Your unsaved data will be lost.";
    }
}

$("#commentform").change(function() {
    needToConfirm = true;
});

 })
[/javascript]

Bu JavaScript kodu, kullanıcının yorum formunda kaydedilmemiş değişiklikleri olup olmadığını algılar. Kullanıcı sayfadan uzaklaşmaya veya pencereyi kapatmaya çalışırsa, bir uyarı açılır penceresi gösterecektir.

Daha sonra bu dosyayı js klasörünün içine confirm-leaving.js olarak kaydetmek isteyeceksiniz.

Her iki dosyayı da kaydettikten sonra, klasör yapınız bu şekilde görünmelidir:

Plugin file structure

Şimdi, bir FTP istemcisi kullanarak WordPress sitenize bağlanmanız gerekir. Adım adım talimatlar için WordPress dosyalarını yüklemek için FTP’nin nasıl kullanılacağına ilişkin kılavuzumuza bakabilirsiniz.

Bağlandıktan sonra, confirm-leaving klasörünü web sitenizdeki/wp-contents/plugins/ klasörüne yüklemeniz gerekir.

Uploading plugin files to your WordPress site

Bundan sonra, WordPress yönetici alanına giriş yapmak ve ‘Eklentiler’e gitmek isteyeceksiniz.

Buradan, yüklü eklentiler listesinde ‘Confirm Leaving’ eklentisini görmelisiniz. Daha sonra altındaki ‘etkinleştir’ bağlantısına tıklayabilirsiniz.

Activate plugin

Hepsi bu kadar. Artık web sitenizdeki herhangi bir gönderiyi ziyaret edebilir, yorum formunun herhangi bir alanına bir metin yazabilir ve ardından göndermeden sayfadan ayrılmayı deneyebilirsiniz.

Kaydedilmemiş değişikliklerin bulunduğu bir sayfadan ayrılmak üzere olduğunuzu bildiren bir açılır pencere görüntülenir.

Popup notification warning user about unsaved changes

Uyarı Açılır Penceresini WordPress Sitenizdeki Diğer Formlara Ekleme

WordPress sitenizdeki herhangi bir formu hedeflemek için aynı kod tabanını kullanabilirsiniz. Burada, size bir iletişim formunu hedeflemek için kullanmanın bir örneğini göstereceğiz.

Bu örnekte, bir iletişim formu oluşturmak için WPForms eklentisini kullanıyoruz. Web sitenizde farklı bir iletişim formu eklentisi kullanıyorsanız talimatlar aynı olacaktır.

Yapmanız gereken ilk şey, iletişim formunuzu eklediğiniz sayfaya gitmektir. Ardından, fareyi iletişim formunuzdaki ilk alanın üzerine getirin, sağ tıklayın ve ardından tarayıcı menüsünden ‘İncele’yi seçin.

Finding form ID

Buradan, ID niteliğini bulmak için <form> etiketi ile başlayan satırı bulmak isteyeceksiniz. Bu örnekte, formumuzun kimliği wpforms-form-170‘tir.

Etiketi bulduktan sonra, devam edin ve ID özelliğini kopyalayın.

Şimdi, confirm-leaving.js dosyasını düzenleyelim ve #commentform‘dan sonra ID niteliğini ekleyelim. Sadece #commentform formunuzun ID’sini virgülle ayırdığınızdan emin olun. Ayrıca formunuzun ID niteliğine önek olarak bir # işareti eklemeniz gerekecektir.

Kodunuz şimdi şöyle görünecektir:

[javascript]
jQuery(document).ready(function($) { 

$(document).ready(function() {
    needToConfirm = false;
    window.onbeforeunload = askConfirm;
});

function askConfirm() {
    if (needToConfirm) {
        // Put your custom message here
        return "Your unsaved data will be lost.";
    }
}

$("#commentform,#wpforms-form-170").change(function() {
    needToConfirm = true;
});

 })
[/javascript]

Her şey iyi görünüyorsa, değişikliklerinizi kaydedebilir ve dosyayı web sitenize geri yükleyebilirsiniz.

Şimdi, iletişim formunuzun herhangi bir alanına herhangi bir metin girebilir ve ardından formu göndermeden sayfadan ayrılmayı deneyebilirsiniz. Kaydedilmemiş değişiklikleriniz olduğuna dair bir uyarı içeren bir açılır pencere görünecektir.

confirm-leaving eklentisini buradan indirebilir, ardından eklentiyi her zamanki gibi kurabilir ve etkinleştirebilirsiniz. Yardıma ihtiyacınız varsa, WordPress eklentisi yükleme kılavuzumuzu inceleyebilirsiniz.

Yorum formunu hedeflediğini unutmayın, ancak eklentiyi kullanıcı kayıt formunuzu, anketlerinizi, geri bildirim formunuzu, iş başvuru formunuzu veya diğer formlarınızı hedefleyecek şekilde düzenleyebilirsiniz.

Bonus İpucu: WordPress Formlarınızın Performansını İyileştirin

Gezinmeyi onayla açılır penceresini ekledikten sonra, kullanıcıların formlarını ne sıklıkla terk ettiklerini izlemek iyi bir fikirdir.

Kaç kişinin bitirmeden ayrıldığını bilmek, sitenizin onlar için ne kadar iyi çalıştığını görmenize yardımcı olabilir. Bu şekilde, ayrılmalarına neyin sebep olduğunu bulabilir ve iyileştirmeler yapabilirsiniz.

Form terkini izlemek için en iyi araçlardan biri MonsterInsights‘tır.

MonsterInsights' homepage

Kullanıcıların formlarınızla nasıl etkileşime girdiğini ve nerede bırakma eğiliminde olduklarını WordPress panonuzdan görmenizi kolaylaştıran en iyi Google Analytics eklentisidir.

Daha fazla ayrıntı için lütfen form terkini takip etme ve azaltma hakkındaki kılavuzumuza bakın.

Bir şey varsa, bir A/B bölünmüş testi de yapabilirsiniz. Bu, hangisinin daha iyi performans gösterdiğini görmek için formlarınızın farklı sürümlerini denemek anlamına gelir.

Edit your variation

Örneğin, navigasyonu onayla açılır pencerenizin ifadesini değiştirebilir veya formunuzu özelleştirebilirsiniz. Sonuçları analiz ederek, kullanıcıları neyin meşgul edeceğini ve terk oranlarını azaltmaya yardımcı olacağını belirleyebilirsiniz.

Thrive Optimize bu görev için en iyi eklentidir. Herhangi bir kodlama yapmadan A/B split testleri yapmanızı sağlar ve verilerinizi güvende tutar.

Daha fazla bilgi edinmek için WordPress’te A/B split testinin nasıl yapılacağına ilişkin kılavuzumuza başvurabilirsiniz.

Umarız bu makale WordPress formları için gezinmeyi onayla açılır penceresini göstermenize yardımcı olmuştur. Ayrıca, en iyi çevrimiçi form oluşturuculara ilişkin uzman seçimlerimize ve daha iyi özel bildirimlerin nasıl ekleneceğine ilişkin kılavuzumuza da göz atmak isteyebilirsiniz.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Açıklama: İçeriğimiz okuyucu desteklidir. Bu, bazı bağlantılarımıza tıklarsanız komisyon kazanabileceğimiz anlamına gelir. WPBeginner'ın nasıl finanse edildiğini, neden önemli olduğunu ve nasıl destek olabileceğinizi görün. İşte editoryal sürecimiz.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Ultimate WordPress Araç Kiti

Araç setimize ÜCRETSİZ erişim sağlayın - her profesyonelin sahip olması gereken WordPress ile ilgili ürün ve kaynaklardan oluşan bir koleksiyon!

Reader Interactions

19 yorumBir Cevap Bırakın

  1. Igor

    Tried to use your code in bbpress forum. Unfortunately no popup message appears after user dose not post his comment. Tried all variations of changing id in JS file but still nothing appears.

  2. Bob Garrett

    Further to my previous query I have now tried using the form’s parent div id and modified the code. This almost works but…

    The text shown by the pop-up is not the text entered in the code.

    Even if the form is completed and submit hit, then going to another page still results in the warning.

    How can I resolve this?

  3. Tom Kelley

    Have tried this vvvvv to no avail. Working with Gravity Forms. All else works well, but the warning still comes up when hitting the submit button on a completed form. Any advice?

    WPBeginner Support
    Nov 27, 2016 at 6:52 am

    Hi Bonnie,

    We tested the plugin with WPForms and it worked. You will need to edit the confirm-leaving.js file and replace #commentform with the wpforms container div id. Typically it is wpforms-12 where 12 is the ID of your form. You can also see it using the inspect element tool in your browser.

    • Bonnie Ramthun

      I’m still trying to figure out how to make sure the popup DOESN’T appear when the user presses the “Submit” button. The confirm leaving popup shouldn’t appear if the user has entered all the information required, but this code makes it pop up every time.

      I would so appreciate the help, if there is a solution available.

  4. Swayam Dhawan

    I Need the same function when someone navigate from particular page in website and while click on stay , they must navigate to home page of the website.

    waiting for the response.

  5. Bonnie Ramthun

    I am so happy for your wonderful confirm navigation code! I need it desperately because many of my clients users can’t get it through their head that they need to press the “Submit” button on the form.

    The code works perfectly, except for one problem. When I press the “Submit” button on my WPForms form, the confirm navigation code pops up. I would like the “confirm navigation” to happen only when the user doesn’t press the “Submit” button. I can’t figure out how to do this. Can you help?

    • WPBeginner Support

      Hi Bonnie,

      We tested the plugin with WPForms and it worked. You will need to edit the confirm-leaving.js file and replace #commentform with the wpforms container div id. Typically it is wpforms-12 where 12 is the ID of your form. You can also see it using the inspect element tool in your browser.

      Yönetici

  6. Will C

    I have two separate multi-page gravity forms on my site. When this plugin is active, I get a confirmation popup when clicking “Next Step” on one of the forms (undesired), but not the other. Are you aware of any issues with gravity forms and “window.onbeforeunload”? Thanks

    • Nipa Sarker

      Having same issues with buddy press create group steps.

      • Nipa Sarker

        I ma using the code for buddy-press multi step create group from.It is working fine except while clicking on the next step button or save button it is showing the same alert.
        I ma using the form id “#create-group-form” instead of the #commentform

  7. Luis Zarza

    Hi, nice post!

    It helped a lot. But your solution won’t work while logged in. It only works for users that fill in the form and are logged out. I need it also to work for logged in users, please!
    Could you provide a solution for that?

    Thanks.

    • Luis Zarza

      Sorry, it does actually works when you create the plugin. At first I did it only throwing the JS to the page I wanted without creating the plugin, because I didn’t want the script to be loaded on all the pages of my site.

  8. Alain Aubry

    Hi

    Contact Form 7 does not use an ID in their form, how can I make this work?

    • WPBeginner Support

      Contact Form 7 uses an ID with all the forms. The line that contains form ID will look something like this:

      <div role="form" class="wpcf7" id="wpcf7-f85-p11-o1" lang="en-US" dir="ltr">
      

      In this example, the form’s ID attribute is wpcf7-f85-p11-o1. Hope this helps.

      Yönetici

  9. Betty L Van Fossen

    I have two problems. One I get these pop up in my mail all the time,q it’s aggravating. I’m 89 in yrs.therefore a little short on patience and I start using my pointer to fast hitting other things, so I get myself in lots of problems. Two –guess(I know) I have to many cookies they say. What are the cookies –how do I eleminate them? What do you mean subscribe without commenting. I prefer the e-mail. O.K..to personal and meaningful conversation.

    • Betty L Van Fossen

      Does Pop Ups work the same for e-mail as WordPress for removing?

        • Betty L Van Fossen

          Safari said I could not get in cause I had to many cookies. In the meantime I was on my e-mail and the pop ups came on, while on my e-mail they are always popping up. I got on google and asked for help on cookies and pop ups and gave me lots to choose from. Now word press got in here, what is word press. I’m not going to write a book,just NEED HELP. Answer by e-mail. I’m turning you off now I’m really tired now.

      • Betty L Van Fossen

        I will wait for your reply in my e-mail as I’m tired so will turn off now.

Bir Cevap Bırakın

Yorum bırakmayı seçtiğiniz için teşekkür ederiz. Lütfen tüm yorumların yorum poli̇ti̇kasi uyarınca denetlendiğini ve e-posta adresinizin yayımlanmayacağını unutmayın. Ad alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.