Astra_Beaver_Themer::theme_header_footer_render()
Function to update Atra header/footer with Beaver template
Description
Source
File: inc/compatibility/class-astra-beaver-themer.php
public function theme_header_footer_render() {
// Get the header ID.
$header_ids = FLThemeBuilderLayoutData::get_current_page_header_ids();
// If we have a header, remove the theme header and hook in Theme Builder's.
if ( ! empty( $header_ids ) ) {
remove_action( 'astra_header', 'astra_header_markup' );
add_action( 'astra_header', 'FLThemeBuilderLayoutRenderer::render_header' );
}
// Get the footer ID.
$footer_ids = FLThemeBuilderLayoutData::get_current_page_footer_ids();
// If we have a footer, remove the theme footer and hook in Theme Builder's.
if ( ! empty( $footer_ids ) ) {
remove_action( 'astra_footer', 'astra_footer_markup' );
add_action( 'astra_footer', 'FLThemeBuilderLayoutRenderer::render_footer' );
}
// BB Themer Support.
$template_ids = FLThemeBuilderLayoutData::get_current_page_content_ids();
if ( ! empty( $template_ids ) ) {
$template_id = $template_ids[0];
$template_type = get_post_meta( $template_id, '_fl_theme_layout_type', true );
if ( 'archive' === $template_type || 'singular' === $template_type || '404' === $template_type ) {
$sidebar = get_post_meta( $template_id, 'site-sidebar-layout', true );
if ( 'default' !== $sidebar ) {
add_filter(
'astra_page_layout',
function( $page_layout ) use ( $sidebar ) { // phpcs:ignore PHPCompatibility.FunctionDeclarations.NewClosure.Found
return $sidebar;
}
);
}
$content_layout = get_post_meta( $template_id, 'site-content-layout', true );
if ( 'default' !== $content_layout ) {
add_filter(
'astra_get_content_layout',
function( $layout ) use ( $content_layout ) {// phpcs:ignore PHPCompatibility.FunctionDeclarations.NewClosure.Found
return $content_layout;
}
);
}
$main_header_display = get_post_meta( $template_id, 'ast-main-header-display', true );
if ( 'disabled' === $main_header_display ) {
if ( 'archive' === $template_type ) {
remove_action( 'astra_masthead', 'astra_masthead_primary_template' );
} else {
add_filter(
'ast_main_header_display',
function( $display_header ) {// phpcs:ignore PHPCompatibility.FunctionDeclarations.NewClosure.Found
return 'disabled';
}
);
}
}
$footer_layout = get_post_meta( $template_id, 'footer-sml-layout', true );
if ( 'disabled' === $footer_layout ) {
add_filter(
'ast_footer_sml_layout',
function( $is_footer ) {// phpcs:ignore PHPCompatibility.FunctionDeclarations.NewClosure.Found
return 'disabled';
}
);
}
// Override! Footer Widgets.
$footer_widgets = get_post_meta( $template_id, 'footer-adv-display', true );
if ( 'disabled' === $footer_widgets ) {
add_filter( 'astra_advanced_footer_disable', '__return_true' );
}
}
}
}
Expand full source code Collapse full source code View on Trac
Changelog
| Version | Description |
|---|---|
| 1.0.0 | Introduced. |