/ Zrušiť "Ste si istí, že chcete odísť z tejto stránky?" Pri ukladaní vlastného post - wordpress

Wordpress - Zakázať "Naozaj chcete odísť z tejto stránky?" Pri ukladaní vlastného post - wordpress

Mám stránky Wordpress veľmi prispôsobené kdeexistuje veľa prispievateľov a publikuje veľa príspevkov. Pri pokuse o publikovanie / aktualizáciu vlastného príspevku sa zobrazí popup, ktorý hovorí: "Zmeny, ktoré ste urobili, sa stratia, ak odchádzate z tejto stránky. Naozaj chcete opustiť túto stránku?".

K tomu dochádza iba vtedy, ak bol upravený / nový obsahpríspevku sa nachádza v vlastných poliach zodpovedajúcich doplnku Rozšírené prispôsobené polia. Tento popup je pre účastníkov veľmi nepríjemný. Takže by som chcel vedieť, či je možné vypnúť tento popup alebo akýkoľvek spôsob, ako to opraviť.

Vďaka.

odpovede:

2 pre odpoveď č. 1

Ok, takže som dokázal zistiť príčinu. Je to funkcia JS v ACF nazvanom unload.

Jediné, čo musíte urobiť, je pridať nejaké JS:

jQuery( document ).ready( function() {
// disable the ACF js navigate away pop up
acf.unload.active = false;
} );

referencie: http://support.advancedcustomfields.com/forums/topic/how-to-disable-js-alert-in-acf_form/


1 pre odpoveď č. 2

Všeobecnejšia odpoveď týkajúca sa potvrdzovacieho dialógu WP:

vnútri wp-admin/js/post.js WordPress-4.8 na riadku 481 môžete nájsť mechanizmus za dialógom potvrdenia "navigovať preč".

Udalosť: beforeunload.edit-post sa iniciuje cez jQuery .on() Funkcie. jQuery vám dáva možnosť odblokovať obslužné rúry udalostí cez .off() Funkcie.

Pridaním nasledujúcich údajov do vášho Javascriptu môžete toto potvrdzovacie dialógové okno zakázať v prípade potreby. WordPress sama o sebe tiež používa, keď stlačíte tlačidlo odosielať (Publikovať) napríklad na príspevok.

// Prevent WP from asking confirmation to navigate away from the current post.
jQuery(window).off( "beforeunload.edit-post" );

PS: WordPress špecifické otázky by mali byť položené na adrese: https://wordpress.stackexchange.com/


0 pre odpoveď č. 3
jQuery(document).ready(function()
{
jQuery(window).off("beforeunload", null);
});