# Űrlap betöltése rejtett felületen és dinamikusan betöltött tartalomban

> Mit tegyél, ha Barba.js vagy hasonló könyvtár miatt az űrlapok az oldalváltás után nem működnek.

Ha az oldalad tartalmát Barba.js-hez hasonló könyvtár tölti be dinamikusan, előfordulhat, hogy az űrlapok az új oldal betöltése után nem működnek. Az ok: a Gravity Forms a szkriptjeit és stíluslapjait csak ott tölti be, ahol az adott oldalon szükség van rájuk, a dinamikusan beillesztett tartalom szkriptjeit pedig az ilyen könyvtárak nem mindig futtatják le újra.

## Példa: űrlap betöltése Barba.js mellett

A kód két részből áll:

1. Egy művelet minden frontend oldalon betölti az egyik űrlapot megjelenítés nélkül, így a szkriptek és stílusok is betöltődnek. A példában a 100-as azonosítójú űrlapot töltjük be, ezt cseréld a sajátodéra.
2. Egy másik művelet a lábrészben megadja a Barba.js-nek, hogy a következő oldal minden szkriptjét futtassa le, így a Gravity Forms szkriptjei is elindulnak.

```php
/**
 * Ez a művelet egy adott űrlapot betölt minden frontend oldalon megjelenítés nélkül,
 * így a szkriptek és a stílusok is betöltődnek.
 */
add_action( 'init', function(){
	if ( is_admin() ) {
		return;
	}
	if ( ! class_exists( 'GFFormDisplay' ) ) {
		require_once( GFCommon::get_base_path() . '/form_display.php' );
	}
	// Előkészíti az űrlapot a megjelenítéshez, de nem jeleníti meg.
	GFForms::get_form( 100 );
}, 100 );

/**
 * Ez a művelet megadja a Barba.js-nek, hogy a következő oldal minden szkriptjét futtassa le,
 * így a Gravity Forms szkriptjei is lefutnak.
 */
add_action( 'wp_footer', function(){
?>
<script>
	barba.hooks.beforeEnter(({ next }) => {
		const js = next.container.querySelectorAll("script");
		js.forEach(script => {
			window.eval(script.innerHTML);
		});
	});
</script>
<?php
} );
```

Ha másfajta rejtett felülettel dolgozol, a kódot valószínűleg módosítanod kell.

## Hová tedd a kódot

A kód mehet az aktív téma `functions.php` fájljába, egy saját funkciókat tartalmazó bővítménybe, egy saját kiegészítőbe vagy kódrészlet-kezelő bővítménybe.
