diff options
Diffstat (limited to 'inc/blog/single-blog.php')
-rw-r--r-- | inc/blog/single-blog.php | 554 |
1 files changed, 277 insertions, 277 deletions
diff --git a/inc/blog/single-blog.php b/inc/blog/single-blog.php index 97b7acd..78f3762 100644 --- a/inc/blog/single-blog.php +++ b/inc/blog/single-blog.php @@ -1,277 +1,277 @@ -<?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() ) {
- $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' );
-
-/**
- * Prints HTML with meta information for the current post-date/time and author.
- */
-if ( ! function_exists( 'astra_single_get_post_meta' ) ) {
-
- /**
- * Prints HTML with meta information for the current post-date/time and author.
- *
- * @param boolean $echo Output print or return.
- * @return string|void
- */
- function astra_single_get_post_meta( $echo = true ) {
-
- $enable_meta = apply_filters( 'astra_single_post_meta_enabled', '__return_true' );
- $post_meta = astra_get_option( 'blog-single-meta' );
- $current_post_type = get_post_type();
- $post_type_array = apply_filters( 'astra_single_post_type_meta', array( 'post' ) );
-
- $output = '';
- if ( is_array( $post_meta ) && ( in_array( $current_post_type, $post_type_array ) || 'attachment' == $current_post_type ) && $enable_meta ) {
-
- $output_str = astra_get_post_meta( $post_meta );
- if ( ! empty( $output_str ) ) {
- $output = apply_filters( 'astra_single_post_meta', '<div class="entry-meta">' . $output_str . '</div>', $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.
- ?>
- <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;
- ?>
- <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 astra_attr(
- 'commen-meta-author',
- array(
- 'class' => 'ast-comment-meta ast-row ast-comment-author vcard capitalize',
- )
- );
- echo '>';
-
- printf(
- 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 comment_text(); ?>
- <div class="ast-comment-edit-reply-wrap">
- <?php edit_comment_link( astra_default_strings( 'string-comment-edit-link', false ), '<span class="ast-edit-link">', '</span>' ); ?>
- <?php
- 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 endif; ?>
- </section> <!-- .ast-comment-content -->
- <?php astra_markup_close( 'ast-comment-data-wrap' ); ?>
- </article><!-- #comment-## -->
-
- <?php
- break;
- }
- }
-}
-
-/**
- * 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() );
-
- $next_text = sprintf(
- astra_default_strings( 'string-single-navigation-next', false ),
- $post_obj->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' );
+<?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() ) { + $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' ); + +/** + * Prints HTML with meta information for the current post-date/time and author. + */ +if ( ! function_exists( 'astra_single_get_post_meta' ) ) { + + /** + * Prints HTML with meta information for the current post-date/time and author. + * + * @param boolean $echo Output print or return. + * @return string|void + */ + function astra_single_get_post_meta( $echo = true ) { + + $enable_meta = apply_filters( 'astra_single_post_meta_enabled', '__return_true' ); + $post_meta = astra_get_option( 'blog-single-meta' ); + $current_post_type = get_post_type(); + $post_type_array = apply_filters( 'astra_single_post_type_meta', array( 'post' ) ); + + $output = ''; + if ( is_array( $post_meta ) && ( in_array( $current_post_type, $post_type_array ) || 'attachment' == $current_post_type ) && $enable_meta ) { + + $output_str = astra_get_post_meta( $post_meta ); + if ( ! empty( $output_str ) ) { + $output = apply_filters( 'astra_single_post_meta', '<div class="entry-meta">' . $output_str . '</div>', $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. + ?> + <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; + ?> + <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 astra_attr( + 'commen-meta-author', + array( + 'class' => 'ast-comment-meta ast-row ast-comment-author vcard capitalize', + ) + ); + echo '>'; + + printf( + 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 comment_text(); ?> + <div class="ast-comment-edit-reply-wrap"> + <?php edit_comment_link( astra_default_strings( 'string-comment-edit-link', false ), '<span class="ast-edit-link">', '</span>' ); ?> + <?php + 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 endif; ?> + </section> <!-- .ast-comment-content --> + <?php astra_markup_close( 'ast-comment-data-wrap' ); ?> + </article><!-- #comment-## --> + + <?php + break; + } + } +} + +/** + * 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() ); + + $next_text = sprintf( + astra_default_strings( 'string-single-navigation-next', false ), + $post_obj->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' ); |