Files
Wordpress-Snippets/modal-theme-part/gutenberg-modal.php
2024-11-07 03:05:09 +00:00

29 lines
1.0 KiB
PHP

<?php
/* Prevent user from adding the modal being added to any templates */
function restrict_modal_block_in_templates( $allowed_blocks, $post ) {
// Check if it's in the admin area (where users edit content)
if ( is_admin() && $post->post_type !== 'page' ) {
// Prevent the modal block from being added in any post or template
$allowed_blocks = array_diff( $allowed_blocks, ['your-theme/modal'] );
}
return $allowed_blocks;
}
add_filter( 'allowed_block_types', 'restrict_modal_block_in_templates', 10, 2 );
/* Add the modal to the footer (or optionally use wp_head to add it to the header) */
function add_modal_to_every_page() {
// Get the modal content from the theme part or reusable block
$modal_content = get_theme_part( 'modal' ); // Assuming get_theme_part is a custom function to fetch your modal content.
if ( $modal_content ) {
echo '<div class="custom-modal">';
echo $modal_content;
echo '</div>';
}
}
add_action( 'wp_footer', 'add_modal_to_every_page' );