single-blog.php 0000666 00000016337 15210370207 0007472 0 ustar 00 ' . $output_str . '', $output_str ); // WPCS: XSS OK.
}
}
if ( $echo ) {
echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
} else {
return $output;
}
}
}
/**
* Template for comments and pingbacks.
*/
if ( ! function_exists( 'astra_theme_comment' ) ) {
/**
* Template for comments and pingbacks.
*
* To override this walker in a child theme without modifying the comments template
* simply create your own astra_theme_comment(), and that function will be used instead.
*
* Used as a callback by wp_list_comments() for displaying the comments.
*
* @param string $comment Comment.
* @param array $args Comment arguments.
* @param number $depth Depth.
* @return mixed Comment markup.
*/
function astra_theme_comment( $comment, $args, $depth ) {
switch ( $comment->comment_type ) {
case 'pingback':
case 'trackback':
// Display trackbacks differently than normal comments.
?>
id="comment-">
', '' ); ?>
id="li-comment-">
labels->singular_name
);
$prev_text = sprintf(
astra_default_strings( 'string-single-navigation-previous', false ),
$post_obj->labels->singular_name
);
/**
* Filter the post pagination markup
*/
the_post_navigation(
apply_filters(
'astra_single_post_navigation',
array(
'next_text' => $next_text,
'prev_text' => $prev_text,
)
)
);
}
}
}
add_action( 'astra_entry_after', 'astra_single_post_navigation_markup' );
blog-config.php 0000666 00000026772 15210370207 0007462 0 ustar 00 ';
$output .= ' ' . $posted_on . '';
$output .= ' ' . $modified_on . '';
$output .= '';
return apply_filters( 'astra_post_date', $output );
}
}
/**
* Function to get Author of Post
*
* @since 1.0.0
* @return html
*/
if ( ! function_exists( 'astra_post_author' ) ) {
/**
* Function to get Author of Post
*
* @param string $output_filter Filter string.
* @return html Markup.
*/
function astra_post_author( $output_filter = '' ) {
ob_start();
echo ' 'posted-by vcard author',
)
);
echo '>';
// Translators: Author Name. ?>
'url fn n',
)
);
?>
>
'author-name',
)
);
?>
>
' . the_title( '', '', false ) . ' ' . $read_more_text . ''
);
$output = ' … ' . $post_link . '
';
return apply_filters( 'astra_post_link', $output, $output_filter );
}
}
add_filter( 'excerpt_more', 'astra_post_link', 1 );
/**
* Function to get Number of Comments of Post
*
* @since 1.0.0
* @return html
*/
if ( ! function_exists( 'astra_post_comments' ) ) {
/**
* Function to get Number of Comments of Post
*
* @param string $output_filter Output filter.
* @return html Markup.
*/
function astra_post_comments( $output_filter = '' ) {
$output = '';
ob_start();
if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
?>
' . $tags_list . '';
}
return apply_filters( 'astra_post_tags', $output, $output_filter );
}
}
/**
* Function to get Categories of Post
*
* @since 1.0.0
* @return html
*/
if ( ! function_exists( 'astra_post_categories' ) ) {
/**
* Function to get Categories applied of Post
*
* @param string $output_filter Output filter.
* @return html Markup.
*/
function astra_post_categories( $output_filter = '' ) {
$output = '';
/* translators: used between list items, there is a space after the comma */
$categories_list = get_the_category_list( __( ', ', 'astra' ) );
if ( $categories_list ) {
$output .= '' . $categories_list . '';
}
return apply_filters( 'astra_post_categories', $output, $output_filter );
}
}
/**
* Display classes for primary div
*
* @since 1.0.0
*/
if ( ! function_exists( 'astra_blog_layout_class' ) ) {
/**
* Layout class
*
* @param string $class Class.
*/
function astra_blog_layout_class( $class = '' ) {
// Separates classes with a single space, collates classes for body element.
echo 'class="' . esc_attr( join( ' ', astra_get_blog_layout_class( $class ) ) ) . '"';
}
}
/**
* Retrieve the classes for the body element as an array.
*
* @since 1.0.0
* @param string|array $class One or more classes to add to the class list.
* @return array Array of classes.
*/
if ( ! function_exists( 'astra_get_blog_layout_class' ) ) {
/**
* Retrieve the classes for the body element as an array.
*
* @param string $class Class.
*/
function astra_get_blog_layout_class( $class = '' ) {
// array of class names.
$classes = array();
$post_format = get_post_format();
if ( $post_format ) {
$post_format = 'standard';
}
$classes[] = 'ast-post-format-' . $post_format;
if ( ! has_post_thumbnail() || ! wp_get_attachment_image_src( get_post_thumbnail_id() ) ) {
switch ( $post_format ) {
case 'aside':
$classes[] = 'ast-no-thumb';
break;
case 'image':
$has_image = astra_get_first_image_from_post();
if ( empty( $has_image ) || is_single() ) {
$classes[] = 'ast-no-thumb';
}
break;
case 'video':
$post_featured_data = astra_get_video_from_post( get_the_ID() );
if ( empty( $post_featured_data ) ) {
$classes[] = 'ast-no-thumb';
}
break;
case 'quote':
$classes[] = 'ast-no-thumb';
break;
case 'link':
$classes[] = 'ast-no-thumb';
break;
case 'gallery':
$post_featured_data = get_post_gallery();
if ( empty( $post_featured_data ) || is_single() ) {
$classes[] = 'ast-no-thumb';
}
break;
case 'audio':
$has_audio = astra_get_audios_from_post( get_the_ID() );
if ( empty( $has_audio ) || is_single() ) {
$classes[] = 'ast-no-thumb';
} else {
$classes[] = 'ast-embeded-audio';
}
break;
case 'standard':
default:
if ( ! has_post_thumbnail() || ! wp_get_attachment_image_src( get_post_thumbnail_id() ) ) {
$classes[] = 'ast-no-thumb';
}
break;
}
}
if ( ! empty( $class ) ) {
if ( ! is_array( $class ) ) {
$class = preg_split( '#\s+#', $class );
}
$classes = array_merge( $classes, $class );
} else {
// Ensure that we always coerce class to being an array.
$class = array();
}
/**
* Filter primary div class names
*/
$classes = apply_filters( 'astra_blog_layout_class', $classes, $class );
$classes = array_map( 'sanitize_html_class', $classes );
return array_unique( $classes );
}
}
/**
* Function to get Content Read More Link of Post
*
* @since 1.2.7
* @return html
*/
if ( ! function_exists( 'astra_the_content_more_link' ) ) {
/**
* Filters the Read More link text.
*
* @param string $more_link_element Read More link element.
* @param string $more_link_text Read More text.
* @return html Markup.
*/
function astra_the_content_more_link( $more_link_element = '', $more_link_text = '' ) {
$enabled = apply_filters( 'astra_the_content_more_link_enabled', '__return_true' );
if ( ( is_admin() && ! wp_doing_ajax() ) || ! $enabled ) {
return $more_link_element;
}
$more_link_text = apply_filters( 'astra_the_content_more_string', __( 'Read More »', 'astra' ) );
$read_more_classes = apply_filters( 'astra_the_content_more_link_class', array() );
$post_link = sprintf(
esc_html( '%s' ),
' ' . the_title( '', '', false ) . $more_link_text . ''
);
$more_link_element = ' … ' . $post_link . '
';
return apply_filters( 'astra_the_content_more_link', $more_link_element, $more_link_text );
}
}
add_filter( 'the_content_more_link', 'astra_the_content_more_link', 10, 2 );
index.php 0000666 00000000157 15210370207 0006370 0 ustar 00 ' . $output_str . '', $output_str ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
}
}
}
/**
* Featured post meta.
*/
if ( ! function_exists( 'astra_blog_post_get_featured_item' ) ) {
/**
* To featured image / gallery / audio / video etc. As per the post format.
*
* @since 1.0
* @return mixed
*/
function astra_blog_post_get_featured_item() {
$post_featured_data = '';
$post_format = get_post_format();
if ( has_post_thumbnail() ) {
$post_featured_data = '';
$post_featured_data .= get_the_post_thumbnail();
$post_featured_data .= '';
} else {
switch ( $post_format ) {
case 'image':
break;
case 'video':
$post_featured_data = astra_get_video_from_post( get_the_ID() );
break;
case 'gallery':
$post_featured_data = get_post_gallery( get_the_ID(), false );
if ( isset( $post_featured_data['ids'] ) ) {
$img_ids = explode( ',', $post_featured_data['ids'] );
$image_alt = get_post_meta( $img_ids[0], '_wp_attachment_image_alt', true );
$image_url = wp_get_attachment_url( $img_ids[0] );
if ( isset( $img_ids[0] ) ) {
$post_featured_data = '';
$post_featured_data .= '
';
$post_featured_data .= '';
}
}
break;
case 'audio':
$post_featured_data = do_shortcode( astra_get_audios_from_post( get_the_ID() ) );
break;
}
}
echo $post_featured_data; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
}
add_action( 'astra_blog_post_featured_format', 'astra_blog_post_get_featured_item' );
/**
* Blog Post Thumbnail / Title & Meta Order
*/
if ( ! function_exists( 'astra_blog_post_thumbnail_and_title_order' ) ) {
/**
* Blog post Thubmnail, Title & Blog Meta order
*
* @since 1.0.8
*/
function astra_blog_post_thumbnail_and_title_order() {
$blog_post_thumb_title_order = astra_get_option( 'blog-post-structure' );
if ( is_single() ) {
$blog_post_thumb_title_order = astra_get_option( 'blog-single-post-structure' );
}
if ( is_array( $blog_post_thumb_title_order ) ) {
// Append the custom class for second element for single post.
foreach ( $blog_post_thumb_title_order as $post_thumb_title_order ) {
switch ( $post_thumb_title_order ) {
// Blog Post Featured Image.
case 'image':
do_action( 'astra_blog_archive_featured_image_before' );
astra_get_blog_post_thumbnail( 'archive' );
do_action( 'astra_blog_archive_featured_image_after' );
break;
// Blog Post Title and Blog Post Meta.
case 'title-meta':
do_action( 'astra_blog_archive_title_meta_before' );
astra_get_blog_post_title_meta();
do_action( 'astra_blog_archive_title_meta_after' );
break;
// Single Post Featured Image.
case 'single-image':
do_action( 'astra_blog_single_featured_image_before' );
astra_get_blog_post_thumbnail( 'single' );
do_action( 'astra_blog_single_featured_image_after' );
break;
// Single Post Title and Single Post Meta.
case 'single-title-meta':
do_action( 'astra_blog_single_title_meta_before' );
astra_get_single_post_title_meta();
do_action( 'astra_blog_single_title_meta_after' );
break;
}
}
}
}
}
/**
* Blog / Single Post Thumbnail
*/
if ( ! function_exists( 'astra_get_blog_post_thumbnail' ) ) {
/**
* Blog post Thumbnail
*
* @param string $type Type of post.
* @since 1.0.8
*/
function astra_get_blog_post_thumbnail( $type = 'archive' ) {
if ( 'archive' === $type ) {
// Blog Post Featured Image.
astra_get_post_thumbnail( '', '
' );
} elseif ( 'single' === $type ) {
// Single Post Featured Image.
astra_get_post_thumbnail();
}
}
}
/**
* Blog Post Title & Meta Order
*/
if ( ! function_exists( 'astra_get_blog_post_title_meta' ) ) {
/**
* Blog post Thumbnail
*
* @since 1.0.8
*/
function astra_get_blog_post_title_meta() {
// Blog Post Title and Blog Post Meta.
do_action( 'astra_archive_entry_header_before' );
?>
'',
)
) . '>',
''
);
do_action( 'astra_single_post_title_after' );
do_action( 'astra_single_post_meta_before' );
astra_single_get_post_meta();
do_action( 'astra_single_post_meta_after' );
?>
post_content ) );
$embeds = apply_filters( 'astra_get_post_audio', get_media_embedded_in_content( $content ) );
if ( empty( $embeds ) ) {
return '';
}
// check what is the first embed containg video tag, youtube or vimeo.
foreach ( $embeds as $embed ) {
if ( strpos( $embed, 'audio' ) ) {
return '' . $embed . '';
}
}
}
}
/**
* Get first image from post content
*/
if ( ! function_exists( 'astra_get_video_from_post' ) ) {
/**
* Get first image from post content
*
* @since 1.0
* @param number $post_id Post id.
* @return mixed
*/
function astra_get_video_from_post( $post_id ) {
$post = get_post( $post_id );
$content = do_shortcode( apply_filters( 'the_content', $post->post_content ) );
$embeds = apply_filters( 'astra_get_post_audio', get_media_embedded_in_content( $content ) );
if ( empty( $embeds ) ) {
return '';
}
// check what is the first embed containg video tag, youtube or vimeo.
foreach ( $embeds as $embed ) {
if ( strpos( $embed, 'video' ) || strpos( $embed, 'youtube' ) || strpos( $embed, 'vimeo' ) ) {
return $embed;
}
}
}
}