functions.php:
/**
 * FX Layout
 *
 * @param string   $layout_name Template name.
 * @param function $layout_content Layout content view.
 * @param function $layout_type Layout content type.
 * @since 1.0.0
 */
function fx_layout( $layout_name, $layout_content, $layout_type ) {
	require get_template_directory() . "/layouts/$layout_name.php";
}Code language: PHP (php)
Default Layout File(layouts/default.php):
<?php
/**
 *
 * Default layout.
 *
 * @package flex
 * @author pressx
 * @since 1.0.0
 */
get_header();
?>
<div id="layout-<?php echo esc_attr( $layout_name ); ?>">
	<?php $layout_content(); ?>
</div>
<?php
get_footer();Code language: PHP (php)
Usage on any WordPress Theme File (e.g. 404.php):
<?php
/**
 * The template for displaying 404 Page.
 *
 * The structure of the page that contains the 404 content.
 *
 * @package flex
 * @author pressx
 * @since 1.0.0
 */
fx_layout( 'default', function() {
	?>
<div id="page-404" class="container items-center px-8 mx-auto text-center">
	<h1 class="text-404">404</h1>
	<p class="text-gray-600"><?php esc_html_e( 'Unfortunately, we could not find the page you are looking for.', 'flex' ); ?></p>
</div>
	<?php
});Code language: PHP (php)
Leave a Reply