File manager - Edit - /home/aresglob/public_html/wp/wp-includes/images/smilies/blog.tar
Back
index.php 0000644 00000000157 15100335353 0006365 0 ustar 00 <?php /** * Index file * * @package Astra * @since Astra 1.0.0 */ /* Silence is golden, and we agree. */ blog-layout-4.php 0000644 00000001762 15100335353 0007660 0 ustar 00 <?php /** * Template for Blog * * @package Astra * @link https://wpastra.com/ * @since Astra 4.6.0 */ ?> <div <?php astra_blog_layout_class( 'blog-layout-4' ); ?>> <div class="post-content <?php echo wp_kses_post( astra_attr( 'ast-grid-common-col' ) ); ?>" > <?php astra_blog_post_thumbnail_and_title_order(); ?> <div class="entry-content clear" <?php echo wp_kses_post( astra_attr( 'article-entry-content-blog-layout', array( 'class' => '', ) ) ); ?> > <?php astra_entry_content_before(); astra_entry_content_after(); wp_link_pages( array( 'before' => '<div class="page-links">' . esc_html( astra_default_strings( 'string-blog-page-links-before', false ) ), 'after' => '</div>', 'link_before' => '<span class="page-link">', 'link_after' => '</span>', ) ); ?> </div><!-- .entry-content .clear --> </div><!-- .post-content --> </div> <!-- .blog-layout-4 --> blog-layout-5.php 0000644 00000003420 15100335353 0007652 0 ustar 00 <?php /** * Blog Pro - Blog Layout 5 Template * * Update this template for Default Blog Style * * @package Astra Addon */ $blog_structure_order = astra_get_option( 'blog-post-structure', array() ); ?> <div <?php astra_blog_layout_class( 'blog-layout-5' ); ?>> <?php $astra_addon_blog_featured_image = apply_filters( 'astra_featured_image_enabled', true ); ?> <?php if ( $astra_addon_blog_featured_image && in_array( 'image', $blog_structure_order ) ) { ?> <?php // Blog Post Featured Image. astra_get_post_thumbnail( '<div class="ast-blog-featured-section post-thumb ' . esc_html( apply_filters( 'astra_attr_ast-grid-col-6_output', 'ast-grid-col-6' ) ) . '">', '</div>' ); ?> <?php } ?> <div class="post-content <?php echo esc_html( apply_filters( 'astra_attr_ast-grid-col-6_output', 'ast-grid-col-6' ) ); ?>"> <?php /** @psalm-suppress TooManyArguments */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort astra_blog_post_thumbnail_and_title_order( array( 'image' ) ); /** @psalm-suppress TooManyArguments */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort ?> <div class="entry-content clear" <?php echo wp_kses_post( astra_attr( 'article-entry-content-blog-layout-3', array( 'class' => '', ) ) ); ?> > <?php astra_entry_content_before(); ?> <?php astra_entry_content_after(); ?> <?php wp_link_pages( array( 'before' => '<div class="page-links">' . esc_html( astra_default_strings( 'string-blog-page-links-before', false ) ), 'after' => '</div>', 'link_before' => '<span class="page-link">', 'link_after' => '</span>', ) ); ?> </div><!-- .entry-content .clear --> </div><!-- .post-content --> </div> <!-- .blog-layout-5 --> blog-layout.php 0000644 00000001762 15100335353 0007517 0 ustar 00 <?php /** * Template for Blog * * @package Astra * @link https://wpastra.com/ * @since Astra 1.0.0 */ ?> <div <?php astra_blog_layout_class( 'blog-layout-1' ); ?>> <div class="post-content <?php echo wp_kses_post( astra_attr( 'ast-grid-common-col' ) ); ?>" > <?php astra_blog_post_thumbnail_and_title_order(); ?> <div class="entry-content clear" <?php echo wp_kses_post( astra_attr( 'article-entry-content-blog-layout', array( 'class' => '', ) ) ); ?> > <?php astra_entry_content_before(); astra_entry_content_after(); wp_link_pages( array( 'before' => '<div class="page-links">' . esc_html( astra_default_strings( 'string-blog-page-links-before', false ) ), 'after' => '</div>', 'link_before' => '<span class="page-link">', 'link_after' => '</span>', ) ); ?> </div><!-- .entry-content .clear --> </div><!-- .post-content --> </div> <!-- .blog-layout-1 --> blog-layout-6.php 0000644 00000001773 15100335353 0007664 0 ustar 00 <?php /** * Template for Blog Layout 6 * * @package Astra * @link https://wpastra.com/ * @since Astra 4.6.0 */ ?> <div <?php astra_blog_layout_class( 'blog-layout-6' ); ?>> <div class="post-content <?php echo wp_kses_post( astra_attr( 'ast-grid-common-col' ) ); ?>" > <?php astra_blog_post_thumbnail_and_title_order(); ?> <div class="entry-content clear" <?php echo wp_kses_post( astra_attr( 'article-entry-content-blog-layout', array( 'class' => '', ) ) ); ?> > <?php astra_entry_content_before(); astra_entry_content_after(); wp_link_pages( array( 'before' => '<div class="page-links">' . esc_html( astra_default_strings( 'string-blog-page-links-before', false ) ), 'after' => '</div>', 'link_before' => '<span class="page-link">', 'link_after' => '</span>', ) ); ?> </div><!-- .entry-content .clear --> </div><!-- .post-content --> </div> <!-- .blog-layout-6 --> blog-config.php 0000644 00000056460 15105331667 0007465 0 ustar 00 <?php /** * Blog Config File * Common Functions for Blog and Single Blog * * @package Astra */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Prepare markup for taxonomies. * * @param string $control_tax Taxonomy subcontrol name. * @param int $loop_count Meta loop counter to decide separator appearance. * @param string $separator Separator. * @param string $badge_style For taxonomies as badge styles. * @param string $html_tag HTML tag. * * @return string $output Taxonomy output. */ function astra_get_dynamic_taxonomy( $control_tax, $loop_count, $separator, $badge_style = '', $html_tag = 'p' ) { $tax_type = astra_get_option( $control_tax ); $post_id = get_the_ID(); if ( ! $post_id ) { return ''; } $terms = get_the_terms( $post_id, $tax_type ); /** @psalm-suppress RedundantCondition */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( $terms && ! empty( $terms ) && ! is_wp_error( $terms ) ) { /** @psalm-suppress RedundantCondition */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $term_links = array(); /** @psalm-suppress PossibleRawObjectIteration */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort foreach ( $terms as $term ) { /** @psalm-suppress PossibleRawObjectIteration */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $term_link = get_term_link( $term->slug, $tax_type ); // If there was an error, continue to the next term. if ( is_wp_error( $term_link ) ) { continue; } $tax_badge_selector = ''; if ( '' !== $badge_style ) { $tax_badge_selector = 'badge' === $badge_style ? 'ast-button ast-badge-tax' : 'ast-underline-text'; } /** @psalm-suppress PossiblyInvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $term_links[] = '<a href="' . esc_url( $term_link ) . '" class="' . esc_attr( $tax_badge_selector ) . '">' . esc_html( $term->name ) . '</a>'; /** @psalm-suppress PossiblyInvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort } $join_separator = 'badge' === $badge_style ? ' ' : ', '; $all_terms = join( $join_separator, $term_links ); $output_str = '<' . esc_attr( $html_tag ) . ' class="ast-terms-link">' . $all_terms . '</' . esc_attr( $html_tag ) . '>'; return 1 !== $loop_count ? ' ' . $separator . ' ' . $output_str : $output_str; } return ''; } /** * Function to get Author ID. * * @since 4.6.0 * @return mixed $author_id Author ID. */ function astra_get_author_id() { global $post; if ( isset( $post->post_author ) ) { $author_id = $post->post_author; } elseif ( is_callable( 'get_the_author_meta' ) ) { $author_id = get_the_author_meta( 'ID' ); } else { $author_id = 1; } return $author_id; } /** * Function to get Author Avatar. * * @since 4.6.0 * @param string $get_for Get for. * @return mixed $avatar Author Avatar. */ function astra_author_avatar( $get_for = 'single-post' ) { $avatar = ''; if ( is_singular() ) { if ( 'single-post' === $get_for && astra_get_option( 'ast-dynamic-single-' . strval( get_post_type() ) . '-author-avatar', false ) ) { $avatar_image_size = astra_get_option( 'ast-dynamic-single-' . strval( get_post_type() ) . '-author-avatar-size', 30 ); $avatar = '<span class="ast-author-avatar">' . strval( get_avatar( astra_get_author_id(), $avatar_image_size ) ) . '</span>'; } elseif ( 'related-post' === $get_for && astra_get_option( 'related-posts-author-avatar', false ) ) { $avatar_image_size = astra_get_option( 'related-posts-author-avatar-size', 30 ); $avatar = '<span class="ast-author-avatar">' . strval( get_avatar( astra_get_author_id(), $avatar_image_size ) ) . '</span>'; } else { $avatar = ''; } } return $avatar; } /** * Common Functions for Blog and Single Blog * * @return post meta */ if ( ! function_exists( 'astra_get_post_meta' ) ) { /** * Post meta * * @param array $post_meta Post meta. * @param string $separator Separator. * @param string $render_by Render by Single|Related Posts|Blog. * @return string post meta markup. */ function astra_get_post_meta( $post_meta, $separator = '/', $render_by = '' ) { $output_str = ''; $loop_count = 1; if ( is_singular() ) { if ( 'single-post' === $render_by ) { $separator = 'none' === astra_get_option( 'ast-dynamic-single-' . strval( get_post_type() ) . '-metadata-separator', '/' ) ? ' ' : astra_get_option( 'ast-dynamic-single-' . strval( get_post_type() ) . '-metadata-separator', '/' ); } elseif ( 'related-posts' === $render_by ) { $separator = 'none' === $separator ? ' ' : $separator; } } else { $divider_type = astra_get_option( 'blog-post-meta-divider-type' ); if ( 'none' !== $divider_type ) { $separator = $divider_type; } else { $separator = ' '; } } $separator = apply_filters( 'astra_post_meta_separator', $separator ); foreach ( $post_meta as $meta_value ) { switch ( $meta_value ) { case 'author': $output_str .= 1 !== $loop_count && '' !== $output_str ? ' ' . $separator . ' ' : ''; /** @psalm-suppress InvalidOperand */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $astra_post_author_html = '' . astra_post_author(); /** @psalm-suppress InvalidOperand */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( is_singular() ) { if ( 'single-post' === $render_by ) { $author_prefix_label = astra_get_option( 'ast-dynamic-single-' . strval( get_post_type() ) . '-author-prefix-label', astra_default_strings( 'string-blog-meta-author-by', false ) ); $output_str .= astra_author_avatar() . esc_html( $author_prefix_label ) . $astra_post_author_html; } elseif ( 'related-posts' === $render_by ) { $author_prefix_label = astra_get_option( 'related-posts-author-prefix-label', astra_default_strings( 'string-blog-meta-author-by', false ) ); $output_str .= astra_author_avatar( 'related-post' ) . esc_html( $author_prefix_label ) . $astra_post_author_html; } else { $output_str .= esc_html( astra_default_strings( 'string-blog-meta-author-by', false ) ) . $astra_post_author_html; } } else { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'blog-pro' ) ) { $author_avatar = astra_get_option( 'blog-meta-author-avatar' ); if ( $author_avatar ) { $get_author_id = get_the_author_meta( 'ID' ); /** @psalm-suppress ArgumentTypeCoercion */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $get_author_gravatar = get_avatar_url( $get_author_id, array( 'size' => astra_get_option( 'blog-meta-author-avatar-size', 25 ) ) ); /** @psalm-suppress PossiblyFalseOperand */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $output_str .= '<img class=' . esc_attr( 'ast-author-image' ) . ' src="' . $get_author_gravatar . '" alt="' . get_the_title() . '" />'; /** @psalm-suppress PossiblyFalseOperand */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort } } $output_str .= esc_html( astra_get_i18n_option( 'blog-meta-author-avatar-prefix-label', _x( '%astra%', 'Blogs: Author Prefix Label', 'astra' ) ) ) . $astra_post_author_html; } break; case 'date': $output_str .= 1 !== $loop_count && '' !== $output_str ? ' ' . $separator . ' ' : ''; $get_for = 'related-posts' === $render_by ? 'related-post' : 'single-post'; $output_str .= astra_post_date( $get_for ); break; case 'category': $category = astra_post_categories( 'post_categories', 'blog-meta-category-style', false ); if ( '' !== $category ) { $output_str .= 1 !== $loop_count && '' !== $output_str ? ' ' . $separator . ' ' : ''; $output_str .= $category; } break; case 'tag': $tags = astra_post_tags( 'post_tags', 'blog-meta-tag-style', false ); if ( '' !== $tags ) { $output_str .= 1 !== $loop_count && '' !== $output_str ? ' ' . $separator . ' ' : ''; $output_str .= $tags; } break; case 'comments': $comment = astra_post_comments(); if ( '' !== $comment ) { $output_str .= 1 !== $loop_count && '' !== $output_str ? ' ' . $separator . ' ' : ''; $output_str .= $comment; } break; default: $output_str = apply_filters( 'astra_meta_case_' . $meta_value, $output_str, $loop_count, $separator ); } if ( strpos( $meta_value, '-taxonomy' ) !== false ) { $output_str .= astra_get_dynamic_taxonomy( $meta_value, $loop_count, $separator, astra_get_option( $meta_value . '-style', '' ), 'span' ); } $loop_count++; } return $output_str; } } /** * Get post format as per new configurations set in customizer. * * @param string $get_for Get for. * @return string HTML markup for date span. * @since 4.1.0 */ function astra_get_dynamic_post_format( $get_for = 'single-post' ) { $is_singular = is_singular() ? true : false; if ( 'related-post' === $get_for ) { $date_format_option = astra_get_option( 'related-posts-date-format', '' ); $date_type = astra_get_option( 'related-posts-meta-date-type', 'published' ); $date_format = apply_filters( 'astra_related_post_date_format', '' === $date_format_option ? get_option( 'date_format' ) : $date_format_option ); } else { $post_type = strval( get_post_type() ); $date_format_option = $is_singular ? astra_get_option( 'ast-dynamic-single-' . esc_attr( $post_type ) . '-date-format', '' ) : astra_get_option( 'blog-meta-date-format', '' ); $date_type = $is_singular ? astra_get_option( 'ast-dynamic-single-' . esc_attr( $post_type ) . '-meta-date-type', 'published' ) : astra_get_option( 'blog-meta-date-type', 'published' ); $date_format = apply_filters( 'astra_post_date_format', '' === $date_format_option ? get_option( 'date_format' ) : $date_format_option ); } $published_date = strval( get_the_date( $date_format ) ); $modified_date = strval( get_the_modified_date( $date_format ) ); if ( 'updated' === $date_type ) { $class = 'updated'; $itemprop = 'dateModified'; $date = sprintf( esc_html( '%s' ), $modified_date ); } else { $class = 'published'; $itemprop = 'datePublished'; $date = sprintf( esc_html( '%s' ), $published_date ); } return sprintf( '<span class="%1$s" itemprop="%2$s"> %3$s </span>', $class, $itemprop, $date ); } /** * Get category List. * * @since 4.6.0 * @param string $filter_name Filter name. * @param string $style_type_slug Style slug. * @param bool $post_meta Post meta. * @return mixed Markup. */ function astra_get_category_list( $filter_name, $style_type_slug, $post_meta ) { $style_type_class = ''; $separator = ', '; $categories_list = ''; $style_type = astra_get_option( $style_type_slug ); $separator = 'badge' === $style_type ? ' ' : $separator; $style_type_class = ' ' . $style_type; /* translators: used between list items, there is a space after the comma */ $get_category_html = get_the_category_list( apply_filters( 'astra_' . $filter_name, $separator ) ); if ( $get_category_html ) { if ( 'badge' === $style_type ) { /** @psalm-suppress PossiblyInvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $categories_list = str_replace( '<a', '<a class="ast-button"', $get_category_html ); } else { $categories_list = $get_category_html; } } $post_tax_class = $post_meta ? 'ast-blog-single-element ' : ''; if ( $categories_list ) { return '<span class="' . $post_tax_class . 'ast-taxonomy-container cat-links' . $style_type_class . '">' . $categories_list . '</span>'; } return ''; } /** * Get tag List. * * @since 4.6.0 * @param string $filter_name Filter name. * @param string $style_type_slug style type slug. * @param bool $post_meta Post meta. * @return mixed Markup. */ function astra_get_tag_list( $filter_name, $style_type_slug, $post_meta ) { $style_type_class = ''; $separator = ', '; $tags_list = ''; $style_type = astra_get_option( $style_type_slug ); $separator = 'badge' === $style_type ? ' ' : $separator; $style_type_class = ' ' . $style_type; /* translators: used between list items, there is a space after the comma */ $tags_list_html = get_the_tag_list( '', apply_filters( 'astra_' . $filter_name, $separator ) ); if ( $tags_list_html ) { if ( 'badge' === $style_type ) { /** @psalm-suppress PossiblyInvalidArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $tags_list = str_replace( '<a', '<a class="ast-button"', $tags_list_html ); } else { $tags_list = $tags_list_html; } } $post_tax_class = $post_meta ? 'ast-blog-single-element ' : ''; if ( $tags_list ) { return '<span class="' . $post_tax_class . 'ast-taxonomy-container tags-links' . $style_type_class . '">' . $tags_list . '</span>'; } return ''; } /** * Function to get Date of Post * * @since 1.0.0 * @return html */ if ( ! function_exists( 'astra_post_date' ) ) { /** * Function to get Date of Post * * @param string $get_for Get for single/related post/etc. * @return string Markup. */ function astra_post_date( $get_for = 'single-post' ) { $output = ''; $output .= '<span class="posted-on">'; $output .= astra_get_dynamic_post_format( $get_for ); $output .= '</span>'; return apply_filters( 'astra_post_date', $output ); } } /** * Function to get Author name. * * @return mixed $author_name Author name. * @since 4.0.0 */ function astra_post_author_name() { $author_name = ''; $get_the_author = get_the_author(); if ( empty( $get_the_author ) ) { /** @psalm-suppress InvalidGlobal */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort global $post; /** @psalm-suppress InvalidGlobal */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( is_object( $post ) && isset( $post->post_author ) ) { $user_id = $post->post_author; /** @psalm-suppress InvalidGlobal */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort global $authordata; /** @psalm-suppress InvalidGlobal */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $author_data = ''; if ( ! $authordata ) { $author_data = get_userdata( $user_id ); } $author_name = esc_attr( ! empty( $author_data ) ? $author_data->display_name : '' ); } } else { $author_name = esc_attr( get_the_author() ); } return $author_name; } /** * 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 = '' ) { $author_id = astra_get_author_id(); ob_start(); echo '<span '; echo wp_kses_post( astra_attr( 'post-meta-author', array( 'class' => 'posted-by author', ) ) ); echo '>'; // Translators: Author Name. ?> <a title="<?php printf( esc_attr__( 'View all posts by %1$s', 'astra' ), esc_attr( strval( get_the_author() ) ) ); ?>" href="<?php echo esc_url( get_author_posts_url( $author_id ) ); ?>" rel="author" <?php echo wp_kses_post( astra_attr( 'author-url', array( 'class' => 'url fn n', ) ) ); ?> > <span <?php echo wp_kses_post( astra_attr( 'author-name', array( 'class' => 'author-name', ) ) ); ?> > <?php /** @psalm-suppress PossiblyNullArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort echo wp_kses_post( astra_post_author_name() ); ?> </span> </a> </span> <?php $output = ob_get_clean(); return apply_filters( 'astra_post_author', $output, $output_filter ); } } /** * Function to get Read More Link of Post * * @since 1.0.0 * @return html */ if ( ! function_exists( 'astra_post_link' ) ) { /** * Function to get Read More Link of Post * * @param string $output_filter Filter string. * @return html Markup. */ function astra_post_link( $output_filter = '' ) { $enabled = apply_filters( 'astra_post_link_enabled', '__return_true' ); if ( ( is_admin() && ! wp_doing_ajax() ) || ! $enabled ) { return $output_filter; } $more_label = Astra_Dynamic_CSS::astra_4_6_0_compatibility() ? esc_html__( 'Read Post »', 'astra' ) : esc_html__( 'Read More »', 'astra' ); $read_more_text = apply_filters( 'astra_post_read_more', $more_label ); $read_more_classes = apply_filters( 'astra_post_read_more_class', array() ); $post_link = sprintf( esc_html( '%s' ), '<a class="' . esc_attr( implode( ' ', $read_more_classes ) ) . '" href="' . esc_url( get_permalink() ) . '"> ' . the_title( '<span class="screen-reader-text">', '</span>', false ) . ' ' . $read_more_text . '</a>' ); $output = '<p class="ast-blog-single-element ast-read-more-container read-more"> ' . $post_link . '</p>'; echo wp_kses_post( apply_filters( 'astra_post_link', $output, $output_filter ) ); } } /** * 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 string Markup. */ function astra_post_comments( $output_filter = '' ) { $output = ''; ob_start(); if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) { ?> <span class="comments-link"> <?php /** * Get Comment Link * * @see astra_default_strings() */ comments_popup_link( astra_default_strings( 'string-blog-meta-leave-a-comment', false ), astra_default_strings( 'string-blog-meta-one-comment', false ), astra_default_strings( 'string-blog-meta-multiple-comment', false ) ); ?> </span> <?php } $output = ob_get_clean(); return apply_filters( 'astra_post_comments', $output, $output_filter ); } } /** * Function to get Tags applied of Post * * @since 1.0.0 * @return mixed */ if ( ! function_exists( 'astra_post_tags' ) ) { /** * Function to get Tags applied of Post * * @param string $filter_name Filter name. * @param string $style_type Style type slug. * @param bool $post_meta Post meta. * @return mixed Markup. */ function astra_post_tags( $filter_name, $style_type, $post_meta ) { return apply_filters( 'astra_' . $filter_name, astra_get_tag_list( $filter_name . '_separator', $style_type, $post_meta ) ); } } /** * Function to get Categories of Post * * @since 1.0.0 * @return mixed */ if ( ! function_exists( 'astra_post_categories' ) ) { /** * Function to get Categories applied of Post * * @param string $filter_name Filter name. * @param string $style_type Style type slug. * @param bool $post_meta Post meta. * @return mixed Markup. */ function astra_post_categories( $filter_name, $style_type, $post_meta ) { return apply_filters( 'astra_' . $filter_name, astra_get_category_list( $filter_name . '_separator', $style_type, $post_meta ) ); } } /** * 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 ( ! in_array( 'ast-no-thumb', $classes ) && ! in_array( 'image', astra_get_option( 'blog-post-structure', array() ) ) ) { $classes[] = 'ast-no-thumb'; } 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 mixed */ 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 mixed 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' ), '<a class="' . esc_attr( implode( ' ', $read_more_classes ) ) . '" href="' . esc_url( get_permalink() ) . '"> ' . the_title( '<span class="screen-reader-text">', '</span>', false ) . $more_link_text . '</a>' ); $more_link_element = ' …<p class="ast-the-content-more-link"> ' . $post_link . '</p>'; 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 ); single-blog.php 0000644 00000023302 15105331667 0007466 0 ustar 00 <?php /** * Single Blog Helper Functions * * @package Astra */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Adds custom classes to the array of body classes. */ if ( ! function_exists( 'astra_single_body_class' ) ) { /** * Adds custom classes to the array of body classes. * * @since 1.0.0 * @param array $classes Classes for the body element. * @return array */ function astra_single_body_class( $classes ) { // Blog layout. if ( is_single() ) { $classes[] = 'ast-blog-single-style-1'; if ( 'post' !== get_post_type() ) { $classes[] = 'ast-custom-post-type'; } } if ( is_singular() ) { $classes[] = 'ast-single-post'; } return $classes; } } add_filter( 'body_class', 'astra_single_body_class' ); /** * Adds custom classes to the array of body classes. */ if ( ! function_exists( 'astra_single_post_class' ) ) { /** * Adds custom classes to the array of body classes. * * @since 1.0.0 * @param array $classes Classes for the body element. * @return array */ function astra_single_post_class( $classes ) { // Blog layout. if ( is_singular() ) { if ( ! in_array( 'ast-related-post', $classes ) ) { $classes[] = 'ast-article-single'; } // Remove hentry from page. if ( 'page' === get_post_type() ) { $classes = array_diff( $classes, array( 'hentry' ) ); } } return $classes; } } add_filter( 'post_class', 'astra_single_post_class' ); /** * 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. ?> <li <?php comment_class(); ?> id="comment-<?php comment_ID(); ?>"> <p><?php esc_html_e( 'Pingback:', 'astra' ); ?> <?php comment_author_link(); ?> <?php edit_comment_link( __( '(Edit)', 'astra' ), '<span class="edit-link">', '</span>' ); ?></p> </li> <?php break; default: // Proceed with normal comments. global $post; $entry_content_class = Astra_Dynamic_CSS::astra_4_6_0_compatibility() ? ' entry-content' : ''; ?> <li <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?>"> <article id="comment-<?php comment_ID(); ?>" class="ast-comment"> <div class= 'ast-comment-info'> <div class='ast-comment-avatar-wrap'><?php echo get_avatar( $comment, 50 ); ?></div><!-- Remove 1px Space --> <?php astra_markup_open( 'ast-comment-data-wrap' ); astra_markup_open( 'ast-comment-meta-wrap' ); echo '<header '; echo wp_kses_post( astra_attr( 'commen-meta-author', array( 'class' => 'ast-comment-meta ast-row ast-comment-author capitalize', ) ) ); echo '>'; printf( esc_attr( astra_markup_open( 'ast-comment-cite-wrap', array( 'open' => '<div %s>', 'class' => 'ast-comment-cite-wrap', ) ) ) . '<cite><b class="fn">%1$s</b> %2$s</cite></div>', get_comment_author_link(), // If current post author is also comment author, make it known visually. $comment->user_id === $post->post_author ? '<span class="ast-highlight-text ast-cmt-post-author"></span>' : '' ); if ( apply_filters( 'astra_single_post_comment_time_enabled', true ) ) { printf( esc_attr( astra_markup_open( 'ast-comment-time', array( 'open' => '<div %s>', 'class' => 'ast-comment-time', ) ) ) . '<span class="timendate"><a href="%1$s"><time datetime="%2$s">%3$s</time></a></span></div>', esc_url( get_comment_link( $comment->comment_ID ) ), esc_attr( get_comment_time( 'c' ) ), /* translators: 1: date, 2: time */ esc_html( sprintf( __( '%1$s at %2$s', 'astra' ), get_comment_date(), get_comment_time() ) ) ); } ?> <?php astra_markup_close( 'ast-comment-meta-wrap' ); ?> </header> <!-- .ast-comment-meta --> </div> <section class="ast-comment-content comment <?php echo esc_attr( $entry_content_class ); ?>"> <?php comment_text(); ?> <div class="ast-comment-edit-reply-wrap"> <?php if ( Astra_Dynamic_CSS::astra_4_6_0_compatibility() ) { comment_reply_link( array_merge( $args, array( 'reply_text' => astra_default_strings( 'string-comment-reply-link', false ), 'add_below' => 'comment', 'depth' => $depth, 'max_depth' => $args['max_depth'], 'before' => '<span class="ast-reply-link">', 'after' => '</span>', ) ) ); edit_comment_link( astra_default_strings( 'string-comment-edit-link', false ), '<span class="ast-edit-link">', '</span>' ); } else { edit_comment_link( astra_default_strings( 'string-comment-edit-link', false ), '<span class="ast-edit-link">', '</span>' ); comment_reply_link( array_merge( $args, array( 'reply_text' => astra_default_strings( 'string-comment-reply-link', false ), 'add_below' => 'comment', 'depth' => $depth, 'max_depth' => $args['max_depth'], 'before' => '<span class="ast-reply-link">', 'after' => '</span>', ) ) ); } ?> </div> <?php if ( '0' == $comment->comment_approved ) { ?> <p class="ast-highlight-text comment-awaiting-moderation"><?php echo esc_html( astra_default_strings( 'string-comment-awaiting-moderation', false ) ); ?></p> <?php } ?> </section> <!-- .ast-comment-content --> <?php astra_markup_close( 'ast-comment-data-wrap' ); ?> </article><!-- #comment-## --> <?php break; } } } /** * Adjacent navigation post link attributes. * * @param string $output The adjacent post link. * @param string $format Link anchor format. * @param string $link Link permalink format. * @param WP_Post|string $post The adjacent post. Empty string if no corresponding post exists. * @param string $adjacent Whether the post is previous or next. * * @return string Link of post URL. * @since 4.6.0 */ function astra_adjacent_post_links_title( $output, $format, $link, $post, $adjacent ) { /** @psalm-suppress PossiblyInvalidPropertyFetch */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( ! empty( $post->post_title ) ) { /** @psalm-suppress PossiblyInvalidPropertyFetch */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $output = str_replace( 'href="', 'title="' . esc_attr( $post->post_title ) . '" href="', $output ); } return $output; } /** * Get Post Navigation */ if ( ! function_exists( 'astra_single_post_navigation_markup' ) ) { /** * Get Post Navigation * * Checks post navigation, if exists return as button. * * @return mixed Post Navigation Buttons */ function astra_single_post_navigation_markup() { $single_post_navigation_enabled = apply_filters( 'astra_single_post_navigation_enabled', true ); if ( is_single() && $single_post_navigation_enabled ) { $post_obj = get_post_type_object( get_post_type() ); /** @psalm-suppress PossiblyNullPropertyFetch */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $post_singular_name = ! empty( $post_obj->labels->singular_name ) ? $post_obj->labels->singular_name : ''; /** @psalm-suppress PossiblyNullPropertyFetch */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $prev_text = Astra_Dynamic_CSS::astra_4_6_0_compatibility() ? '<span class="ast-post-nav" aria-hidden="true">' . Astra_Builder_UI_Controller::fetch_svg_icon( 'long-arrow-alt-left' ) . ' ' . esc_html( astra_default_strings( 'string-previous-text', false ) ) . '</span> <p> %title </p>' : sprintf( astra_default_strings( 'string-single-navigation-previous', false ), $post_singular_name ); $next_text = Astra_Dynamic_CSS::astra_4_6_0_compatibility() ? '<span class="ast-post-nav" aria-hidden="true">' . esc_html( astra_default_strings( 'string-next-text', false ) ) . ' ' . Astra_Builder_UI_Controller::fetch_svg_icon( 'long-arrow-alt-right' ) . '</span> <p> %title </p>' : sprintf( astra_default_strings( 'string-single-navigation-next', false ), $post_singular_name ); add_filter( 'previous_post_link', 'astra_adjacent_post_links_title', 10, 5 ); add_filter( 'next_post_link', 'astra_adjacent_post_links_title', 10, 5 ); /** * Filter the post pagination markup */ the_post_navigation( apply_filters( 'astra_single_post_navigation', array( 'next_text' => $next_text, 'prev_text' => $prev_text, 'aria_label' => __( 'Posts', 'astra' ), ) ) ); remove_filter( 'previous_post_link', 'astra_adjacent_post_links_title', 10 ); remove_filter( 'next_post_link', 'astra_adjacent_post_links_title', 10 ); } } } add_action( 'astra_entry_after', 'astra_single_post_navigation_markup' ); blog.php 0000644 00000057325 15105331667 0006223 0 ustar 00 <?php /** * Blog Helper Functions * * @package Astra */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Adds custom classes to the array of body classes. */ if ( ! function_exists( 'astra_blog_body_classes' ) ) { /** * Adds custom classes to the array of body classes. * * @since 1.0 * @param array $classes Classes for the body element. * @return array */ function astra_blog_body_classes( $classes ) { // Adds a class of group-blog to blogs with more than 1 published author. if ( is_multi_author() ) { $classes[] = 'group-blog'; } return $classes; } } add_filter( 'body_class', 'astra_blog_body_classes' ); /** * Adds custom classes to the array of post grid classes. */ if ( ! function_exists( 'astra_post_class_blog_grid' ) ) { /** * Adds custom classes to the array of post grid classes. * * @since 1.0 * @param array $classes Classes for the post element. * @return array */ function astra_post_class_blog_grid( $classes ) { $blog_layout = astra_get_blog_layout(); if ( is_archive() || is_home() || is_search() ) { $classes[] = astra_attr( 'ast-blog-col' ); $classes[] = 'ast-article-post'; /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( ! ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'blog-pro' ) ) ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( 'blog-layout-4' === $blog_layout ) { $classes[] = 'remove-featured-img-padding'; } } } return $classes; } } add_filter( 'post_class', 'astra_post_class_blog_grid' ); /** * Add Body Classes * * @param array $classes Blog Layout Class Array. * @since 4.6.0 * @return array */ function astra_add_blog_layout_class( $classes ) { if ( ! is_singular() ) { $classes[] = 'ast-article-inner'; } return $classes; } add_filter( 'astra_blog_layout_class', 'astra_add_blog_layout_class' ); /** * Prints HTML with meta information for the current post-date/time and author. */ if ( ! function_exists( 'astra_blog_get_post_meta' ) ) { /** * Prints HTML with meta information for the current post-date/time and author. * * @since 1.0 * @return mixed Markup. */ function astra_blog_get_post_meta() { $enable_meta = apply_filters( 'astra_blog_post_meta_enabled', '__return_true' ); $post_meta = astra_get_option( 'blog-meta' ); if ( is_array( $post_meta ) && $enable_meta ) { $output_str = astra_get_post_meta( $post_meta, '/', 'blog' ); if ( ! empty( $output_str ) ) { echo apply_filters( 'astra_blog_post_meta', '<div class="entry-meta">' . $output_str . '</div>', $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 = '<a href="' . esc_url( get_permalink() ) . '" >'; $post_featured_data .= get_the_post_thumbnail(); $post_featured_data .= '</a>'; } 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 = '<a href="' . esc_url( get_permalink() ) . '" >'; $post_featured_data .= '<img src="' . esc_url( $image_url ) . '" alt="' . esc_attr( $image_alt ) . '" >'; $post_featured_data .= '</a>'; } } 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 * @param array $remove_elements Remove unwanted sections. */ function astra_blog_post_thumbnail_and_title_order( $remove_elements = array() ) { $blog_post_thumb_title_order = astra_get_option( 'blog-post-structure' ); $remove_post_element = apply_filters( 'astra_remove_post_elements', $remove_elements ); if ( isset( $blog_post_thumb_title_order ) && isset( $remove_post_element ) ) { foreach ( $remove_post_element as $single ) { $key = array_search( $single, $blog_post_thumb_title_order ); if ( $key !== false ) { unset( $blog_post_thumb_title_order[ $key ] ); } } } if ( is_singular() ) { return astra_banner_elements_order(); } 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 Categories. case 'category': do_action( 'astra_blog_archive_category_before' ); // @codingStandardsIgnoreStart /** * @psalm-suppress InvalidArgument * @psalm-suppress TooManyArguments */ echo astra_post_categories( 'astra_blog_archive_category', 'blog-category-style', true ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped // @codingStandardsIgnoreEnd do_action( 'astra_blog_archive_category_after' ); break; // Blog Tags. case 'tag': do_action( 'astra_blog_archive_tag_before' ); // @codingStandardsIgnoreStart /** * @psalm-suppress InvalidArgument * @psalm-suppress TooManyArguments */ echo astra_post_tags( 'astra_blog_archive_tag', 'blog-tag-style', true ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped // @codingStandardsIgnoreEnd do_action( 'astra_blog_archive_tag_after' ); break; // Blog Post Title. case 'title': do_action( 'astra_blog_archive_title_before' ); astra_get_blog_post_title(); do_action( 'astra_blog_archive_title_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; // Blog Post excerpt. case 'excerpt': do_action( 'astra_blog_archive_excerpt_before' ); astra_the_excerpt(); do_action( 'astra_blog_archive_excerpt_after' ); break; // Blog Post read more. case 'read-more': do_action( 'astra_blog_archive_read_more_before' ); astra_post_link(); do_action( 'astra_blog_archive_read_more_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( '<div class="ast-blog-featured-section post-thumb ast-blog-single-element">', '</div>' ); } 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' ); ?> <header class="entry-header ast-blog-single-element ast-blog-meta-container"> <?php do_action( 'astra_archive_post_meta_before' ); astra_blog_get_post_meta(); do_action( 'astra_archive_post_meta_after' ); ?> </header><!-- .entry-header --> <?php do_action( 'astra_archive_entry_header_after' ); } } /** * Blog post title * * @since 4.6.0 */ function astra_get_blog_post_title() { do_action( 'astra_archive_post_title_before' ); /* translators: 1: Current post link, 2: Current post id, 3: Anchor attributes */ $anchor_attrs = apply_filters( 'astra_post_title_anchor_attributes', array( 'rel' => 'bookmark' ) ); astra_the_post_title( sprintf( '<h2 class="entry-title ast-blog-single-element" %2$s><a href="%1$s" %3$s>', esc_url( get_permalink() ), astra_attr( 'article-title-blog', array( 'class' => '', ) ), wp_kses_post( astra_attr( '', $anchor_attrs ) ) ), '</a></h2>', get_the_id() ); do_action( 'astra_archive_post_title_after' ); } /** * Get audio files from post content */ if ( ! function_exists( 'astra_get_audios_from_post' ) ) { /** * Get audio files from post content * * @param number $post_id Post id. * @return mixed Iframe. */ function astra_get_audios_from_post( $post_id ) { // for audio post type - grab. $post = get_post( $post_id ); $content = do_shortcode( apply_filters( 'the_content', $post->post_content ) ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound $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 '<span class="ast-post-audio-wrapper">' . $embed . '</span>'; } } } } /** * 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 ) ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound $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; } } } } /** * Get last word of string to get meta-key of custom post structure. * * @since 4.0.0 * @param string $string from this get last word. * @return string $last_word result. */ function astra_get_last_meta_word( $string ) { $string = explode( '-', $string ); return array_pop( $string ); } /** * Get the current archive description. * * @since 4.0.0 * @param string $post_type post type. * @return string $description Description for archive. */ function astra_get_archive_description( $post_type ) { $description = ''; if ( defined( 'SURECART_PLUGIN_FILE' ) && is_page() && get_the_ID() === absint( get_option( 'surecart_shop_page_id' ) ) ) { return astra_get_option( 'ast-dynamic-archive-sc_product-custom-description', '' ); } if ( is_search() ) { return have_posts() ? astra_get_i18n_option( 'section-search-page-title-found-custom-description', _x( '%astra%', 'Search Page Title: Subheading - When Results Found', 'astra' ) ) : astra_get_i18n_option( 'section-search-page-title-not-found-custom-description', _x( '%astra%', 'Search Page Title: Subheading - When Results Not Found', 'astra' ) ); } $get_archive_description = get_the_archive_description(); $get_author_meta = trim( get_the_author_meta( 'description' ) ); if ( ! empty( $get_archive_description ) ) { $description = get_the_archive_description(); } if ( is_author() && ! empty( $get_author_meta ) ) { $description = get_the_author_meta( 'description' ); } if ( empty( $description ) && ! have_posts() && ! ( is_category() || is_tag() || is_tax() ) ) { $description = esc_html( astra_default_strings( 'string-content-nothing-found-message', false ) ); } if ( is_post_type_archive( $post_type ) ) { $description = astra_get_option( 'ast-dynamic-archive-' . $post_type . '-custom-description', '' ); } if ( 'post' === $post_type && ( ( is_front_page() && is_home() ) || is_home() ) ) { $description = astra_get_option( 'ast-dynamic-archive-post-custom-description', '' ); } return $description; } /** * Custom single post Title & Meta order display. * * @since 4.0.0 * @param array $structure archive or single post structure. * @return mixed */ function astra_banner_elements_order( $structure = array() ) { if ( true === apply_filters( 'astra_remove_entry_header_content', false ) ) { return; } $post_type = is_search() ? 'post' : astra_get_post_type(); // If 404 page. if ( is_404() ) { $post_type = ''; } // If Blog / Latest Post page is active then looping required structural 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(); } $prefix = 'archive'; $structure = empty( $structure ) ? astra_get_option( 'ast-dynamic-' . $prefix . '-' . $post_type . '-structure', array( 'ast-dynamic-' . $prefix . '-' . $post_type . '-title', 'ast-dynamic-' . $prefix . '-' . $post_type . '-description' ) ) : $structure; $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' ); } do_action( 'astra_single_post_banner_before' ); $post_type = apply_filters( 'astra_banner_elements_post_type', $post_type ); $prefix = apply_filters( 'astra_banner_elements_prefix', $prefix ); foreach ( apply_filters( 'astra_banner_elements_structure', $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_after' ); break; case 'single-excerpt': /** @psalm-suppress InvalidGlobal */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort global $post; do_action( 'astra_single_post_banner_excerpt_before' ); /** @psalm-suppress PossiblyUndefinedVariable */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort echo ! empty( $post ) && ! empty( $post->ID ) ? '<p>' . get_the_excerpt( $post->ID ) . '</p>' : ''; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped /** @psalm-suppress PossiblyUndefinedVariable */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort do_action( 'astra_single_post_banner_excerpt_after' ); 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, '/', 'single-post' ); if ( ! empty( $output_str ) ) { $output = apply_filters( 'astra_single_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_after' ); break; case 'single-image': if ( 'disabled' === astra_get_option_meta( 'ast-featured-img' ) ) { break; } $featured_background = astra_get_option( 'ast-dynamic-single-' . $post_type . '-featured-as-background', false ); if ( 'layout-1' === $layout_type ) { $article_featured_image_position = astra_get_option( 'ast-dynamic-single-' . $post_type . '-article-featured-image-position-layout-1', 'behind' ); } else { $article_featured_image_position = astra_get_option( 'ast-dynamic-single-' . $post_type . '-article-featured-image-position-layout-2', 'none' ); } if ( 'none' !== $article_featured_image_position ) { break; } 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 'single-taxonomy': case 'single-str-taxonomy': do_action( 'astra_single_post_banner_taxonomies_before' ); echo astra_get_dynamic_taxonomy( 'ast-dynamic-single-' . $post_type . '-structural-taxonomy', 1, astra_get_option( 'ast-dynamic-single-' . $post_type . '-metadata-separator' ), astra_get_option( 'ast-dynamic-single-' . $post_type . '-structural-taxonomy-style', '' ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped do_action( 'astra_single_post_banner_taxonomies_after' ); break; case 'archive-title': do_action( 'astra_blog_archive_title_before' ); add_filter( 'get_the_archive_title_prefix', '__return_empty_string' ); 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_after_archive_title' ); } remove_filter( 'get_the_archive_title_prefix', '__return_empty_string' ); 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; } } do_action( 'astra_single_post_banner_after' ); } /** * Blog Post Per Page * * @since 4.6.0 * @param WP_Query $query Query. */ function astra_blog_post_per_page( $query ) { if ( is_admin() || ! $query->is_main_query() ) { return; } if ( ! ( is_home() || is_archive() || is_search() ) ) { return; } if ( function_exists( 'is_woocommerce' ) && is_woocommerce() ) { return; } $exclusions = apply_filters( 'astra_blog_post_per_page_exclusions', array( 'bbpress_single', 'courses_archive', 'product', ) ); if ( in_array( $query->get( 'post_type' ), $exclusions, true ) ) { return; } $limit = apply_filters( 'astra_blog_post_per_page', astra_get_blog_posts_per_page() ); $query->set( 'posts_per_page', $limit ); } add_action( 'parse_tax_query', 'astra_blog_post_per_page' ); /** * Add Blog Layout Class * * @param array $classes Body Class Array. * @since 4.6.0 * @return array */ function astra_primary_class_blog_layout( $classes ) { if ( is_archive() && function_exists( 'is_bbpress' ) && ( get_post_type() === 'forum' || get_post_type() === 'topic' || get_post_type() === 'reply' || get_query_var( 'post_type' ) === 'forum' || bbp_is_topic_tag() || bbp_is_topic_tag_edit() || is_bbpress() ) ) { return $classes; } // Apply grid class to archive page. if ( is_home() || is_archive() || is_search() ) { $blog_layout = astra_get_blog_layout(); /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( ! ( defined( 'ASTRA_EXT_VER' ) && Astra_Ext_Extension::is_active( 'blog-pro' ) ) ) { /** @psalm-suppress UndefinedClass */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort // If a old pro user has used blog-layout-1 to 3 and disabled astra addon then moved layout to 'blog-layout-4'. if ( 'blog-layout-1' === $blog_layout || 'blog-layout-2' === $blog_layout || 'blog-layout-3' === $blog_layout ) { $blog_layout = 'blog-layout-4'; } if ( 'blog-layout-4' === $blog_layout || 'blog-layout-5' === $blog_layout || 'blog-layout-6' === $blog_layout ) { $classes[] = 'ast-grid-3'; } } if ( 'blog-layout-4' === $blog_layout || 'blog-layout-5' === $blog_layout || 'blog-layout-6' === $blog_layout ) { $classes[] = 'ast-' . esc_attr( $blog_layout ) . '-grid'; } $classes = apply_filters( 'astra_primary_class_blog_grid', $classes ); } return $classes; } add_filter( 'astra_primary_class', 'astra_primary_class_blog_layout' ); /** * Blog Layout Customization * * @since 4.6.0 * @return void */ function astra_blog_layout_customization() { $blog_layout = astra_get_blog_layout(); $blog_layout_slugs = array( 'blog-layout-4', 'blog-layout-5', 'blog-layout-6' ); if ( in_array( $blog_layout, $blog_layout_slugs ) ) { remove_action( 'astra_entry_content_blog', 'astra_entry_content_blog_template' ); add_action( 'astra_entry_content_blog', 'astra_blog_layout_template' ); } } add_action( 'wp_head', 'astra_blog_layout_customization' ); /** * Blog Layout Template Markup * * @since 4.6.0 * @return void */ function astra_blog_layout_template() { get_template_part( 'template-parts/blog/' . esc_attr( astra_get_blog_layout() ) ); } /** * Blog Custom excerpt length. * * @since 4.6.0 * @param int $length Length. * @return int */ function astra_custom_excerpt_length( $length ) { $blog_layout = astra_get_blog_layout(); return 'blog-layout-4' === $blog_layout ? 20 : $length; } add_filter( 'excerpt_length', 'astra_custom_excerpt_length', 1 ); /** * Remove link from featured image for layout 6 * * @since 4.6.0 * @param string $content Content. * @return mixed */ function astra_remove_link_from_featured_image( $content = '' ) { $blog_layout = astra_get_blog_layout(); if ( is_archive() || is_home() || is_search() ) { if ( 'blog-layout-6' === $blog_layout ) { add_filter( 'astra_blog_post_featured_image_link_after', '__return_false' ); add_filter( 'astra_blog_post_featured_image_link_before', '__return_false' ); } } return $content; } add_filter( 'wp', 'astra_remove_link_from_featured_image' );
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings