# learnpress/4.4.3/assets/src/apps/js/admin/gutenberg/editor-check.js

LearnPress – WordPress LMS Plugin for Create and Sell Online Courses, version 4.4.3. 50 lines.

- Page: https://pluginprobe.com/plugins/learnpress/4.4.3/code/assets/src/apps/js/admin/gutenberg/editor-check.js
- Raw: https://pluginprobe.com/plugins/learnpress/4.4.3/raw/assets/src/apps/js/admin/gutenberg/editor-check.js
- Modified: 2026-07-26T12:32:48+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/learnpress/4.4.3/code/assets/src/apps/js/admin/gutenberg/editor-check.js#L10-L20`.

```javascript
document.addEventListener( 'DOMContentLoaded', function () {
	const validTemplates = [
		'single-lp_course',
		'archive-lp_course',
		'taxonomy-course_tag',
		'taxonomy-course_category',
	];

	const getParamP = () => {
		const urlParams = new URLSearchParams( window.location.search );
		const paramP = urlParams.get( 'p' )?.replace( /^\/|\/$/g, '' );
		return paramP === 'template' ? paramP : null;
	};

	const debounce = ( func, wait ) => {
		let timeout;
		return ( ...args ) => {
			clearTimeout( timeout );
			timeout = setTimeout( () => func( ...args ), wait );
		};
	};

	let previousTemplate = null;
	const checkAndReload = () => {
		const currentTemplate =
			wp?.data?.select( 'core/editor' )?.getEditedPostAttribute( 'slug' ) ||
			wp?.data?.select( 'core/editor' )?.getCurrentPostId() ||
			getParamP();

		if ( ! currentTemplate || currentTemplate === previousTemplate ) return;

		if (
			currentTemplate !== 'home' &&
			previousTemplate &&
			previousTemplate !== currentTemplate &&
			( validTemplates.includes( currentTemplate ) || validTemplates.includes( previousTemplate ) )
		) {
			window.location.reload();
		}

		previousTemplate = currentTemplate;
	};

	const debouncedCheckAndReload = debounce( checkAndReload, 200 );

	wp?.data?.subscribe( () => {
		debouncedCheckAndReload();
	} );
} );

```
