astra_banner_elements_order( array $structure = array() )
Custom single post Title & Meta order display.
Description
Parameters
- $structure
-
(array) (Optional) archive or single post structure.
Default value: array()
Return
(mixed)
Source
File: inc/blog/blog.php
function astra_banner_elements_order( $structure = array() ) {
if ( true === apply_filters( 'astra_remove_entry_header_content', false ) ) {
return;
}
global $post;
if ( is_null( $post ) ) {
return;
}
// If Blog / Latest Post page is active then looping required strctural order.
if ( ( ! is_front_page() && is_home() ) && false === astra_get_option( 'ast-dynamic-archive-post-banner-on-blog', false ) ) {
return astra_blog_post_thumbnail_and_title_order();
}
$post_type = $post->post_type;
$prefix = 'archive';
$structure = astra_get_option( 'ast-dynamic-' . $prefix . '-' . $post_type . '-structure', array( 'ast-dynamic-' . $prefix . '-' . $post_type . '-title', 'ast-dynamic-' . $prefix . '-' . $post_type . '-description' ) );
$layout_type = astra_get_option( 'ast-dynamic-' . $prefix . '-' . $post_type . '-layout', 'layout-1' );
if ( is_singular() ) {
$prefix = 'single';
$structure = astra_get_option( 'ast-dynamic-' . $prefix . '-' . $post_type . '-structure', array( 'ast-dynamic-' . $prefix . '-' . $post_type . '-title', 'ast-dynamic-' . $prefix . '-' . $post_type . '-meta' ) );
if ( 'page' === $post_type ) {
$structure = astra_get_option( 'ast-dynamic-single-page-structure', array( 'ast-dynamic-single-page-image', 'ast-dynamic-single-page-title' ) );
}
$layout_type = astra_get_option( 'ast-dynamic-' . $prefix . '-' . $post_type . '-layout', 'layout-1' );
}
foreach ( $structure as $metaval ) {
$meta_key = $prefix . '-' . astra_get_last_meta_word( $metaval );
switch ( $meta_key ) {
case 'single-breadcrumb':
do_action( 'astra_single_post_banner_breadcrumb_before' );
echo astra_get_breadcrumb(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
do_action( 'astra_single_post_banner_breadcrumb_after' );
break;
case 'single-title':
do_action( 'astra_single_post_banner_title_before' );
if ( 'page' === $post_type ) {
astra_the_title(
'<h1 class="entry-title" ' . astra_attr(
'article-title-content-page',
array(
'class' => '',
)
) . '>',
'</h1>'
);
} else {
astra_the_title(
'<h1 class="entry-title" ' . astra_attr(
'article-title-blog-single',
array(
'class' => '',
)
) . '>',
'</h1>'
);
}
do_action( 'astra_single_post_banner_title_before' );
break;
case 'single-excerpt':
do_action( 'astra_single_post_banner_excerpt_before' );
echo '<span>' . get_the_excerpt( $post->ID ) . '</span>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
do_action( 'astra_single_post_banner_excerpt_before' );
break;
case 'single-meta':
do_action( 'astra_single_post_banner_meta_before' );
$post_meta = astra_get_option( 'ast-dynamic-single-' . $post_type . '-metadata', array( 'comments', 'author', 'date' ) );
$output = '';
if ( ! empty( $post_meta ) ) {
$output_str = astra_get_post_meta( $post_meta );
if ( ! empty( $output_str ) ) {
$output = apply_filters( 'astra_single_banner_post_meta', '<div class="entry-meta">' . $output_str . '</div>' ); // WPCS: XSS OK.
}
}
echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
do_action( 'astra_single_post_banner_meta_before' );
break;
case 'single-image':
$featured_background = astra_get_option( 'ast-dynamic-single-' . $post_type . '-featured-as-background', false );
if ( ( 'layout-2' === $layout_type && false === $featured_background ) || 'layout-1' === $layout_type ) {
do_action( 'astra_blog_single_featured_image_before' );
astra_get_blog_post_thumbnail( 'single' );
do_action( 'astra_blog_single_featured_image_after' );
}
break;
case 'archive-title':
do_action( 'astra_blog_archive_title_before' );
if ( 'layout-1' === $layout_type ) {
astra_the_post_title( '<h1 class="page-title ast-archive-title">', '</h1>', 0, true );
} else {
astra_the_post_title( '<h1>', '</h1>', 0, true );
}
do_action( 'astra_blog_archive_title_after' );
break;
case 'archive-breadcrumb':
if ( ! is_author() ) {
do_action( 'astra_blog_archive_breadcrumb_before' );
echo astra_get_breadcrumb(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
do_action( 'astra_blog_archive_breadcrumb_after' );
}
break;
case 'archive-description':
do_action( 'astra_blog_archive_description_before' );
echo wp_kses_post( wpautop( astra_get_archive_description( $post_type ) ) );
do_action( 'astra_blog_archive_description_after' );
break;
}
}
}
Expand full source code Collapse full source code View on Trac
Changelog
| Version | Description |
|---|---|
| 4.0.0 | Introduced. |