if ( et_theme_builder_overrides_layout( ET_THEME_BUILDER_HEADER_LAYOUT_POST_TYPE ) || et_theme_builder_overrides_layout( ET_THEME_BUILDER_FOOTER_LAYOUT_POST_TYPE ) ) {
// Skip rendering anything as this partial is being buffered anyway.
// In addition, avoids get_sidebar() issues since that uses
// locate_template() with require_once.
* Fires after the main content, before the footer is output.
do_action( 'et_after_main_content' );
if ( 'on' === et_get_option( 'divi_back_to_top', 'false' ) ) : ?>
<span class="et_pb_scroll_top et-pb-icon"></span>
if ( ! is_page_template( 'page-template-blank.php' ) ) : ?>
<footer id="main-footer">
<?php get_sidebar( 'footer' ); ?>
if ( has_nav_menu( 'footer-menu' ) ) : ?>
'theme_location' => 'footer-menu',
'menu_class' => 'bottom-nav',
</div> <!-- #et-footer-nav -->
<div class="container clearfix">
if ( false !== et_get_option( 'show_footer_social_icons', true ) ) {
get_template_part( 'includes/social_icons', 'footer' );
// phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped
echo et_core_fix_unclosed_html_tags( et_core_esc_previously( et_get_footer_credits() ) );
</div> <!-- .container -->
</footer> <!-- #main-footer -->
</div> <!-- #et-main-area -->
<?php endif; // ! is_page_template( 'page-template-blank.php' ) ?>
</div> <!-- #page-container -->