astra_toggle_layout( mixed $new_content_option, mixed $level, mixed $post_id = false, mixed $old_meta = false )
Return current content layout as per new layout selection.
Description
Parameters
- $new_content_option
-
(mixed) (Required) The new content layout option.
- $level
-
(mixed) (Required) The level of the layout.
- $post_id
-
(mixed) (Optional) The id to fetch post meta.
Default value: false
- $old_meta
-
(mixed) (Optional) The old content layout option for migration cases.
Default value: false
Return
(mixed) content layout.
Source
File: inc/extras.php
function astra_toggle_layout( $new_content_option, $level, $post_id = false, $old_meta = false ) { // Dynamic layout option for meta case. $dynamic_layout_option = 'meta' === $level ? astra_get_option_meta( $new_content_option, '', true ) : astra_get_option( $new_content_option, 'default' ); $current_layout = ''; // Get meta value by ID if specified. if ( $post_id ) { $dynamic_layout_option = get_post_meta( $post_id, $new_content_option, true ); } // Meta layout migrations. $meta_key = astra_get_option_meta( 'astra-migrate-meta-layouts', '', true ); $migrated_user = ( ! Astra_Dynamic_CSS::astra_fullwidth_sidebar_support() ); $third_party_meta_page = astra_third_party_archive_meta( 'site-content-layout' ); if ( 'meta' === $level && $migrated_user ) { if ( false !== $third_party_meta_page ) { $old_meta = $third_party_meta_page; $meta_key = astra_third_party_archive_meta( 'astra-migrate-meta-layouts' ); } if ( $old_meta && 'set' !== $meta_key ) { $dynamic_layout_option = astra_migrate_meta_layout( $old_meta ); } } switch ( $dynamic_layout_option ) { case 'normal-width-container': $current_layout = 'plain-container'; break; case 'narrow-width-container': $current_layout = 'narrow-container'; // Exclude narrow layout for third party cases. if ( astra_with_third_party() && ( ! $migrated_user ) ) { $current_layout = 'plain-container'; } break; case 'full-width-container': $current_layout = 'page-builder'; break; default: if ( 'meta' === $level && ! $migrated_user && 'set' !== $meta_key && $old_meta ) { $current_layout = $old_meta; } else { $current_layout = ''; } break; } return $current_layout; }
Expand full source code Collapse full source code View on Trac
Changelog
Version | Description |
---|---|
4.2.0 | Introduced. |