118 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Archive elements.
 | 
						|
 *
 | 
						|
 * @package GeneratePress
 | 
						|
 */
 | 
						|
 | 
						|
if ( ! defined( 'ABSPATH' ) ) {
 | 
						|
	exit; // Exit if accessed directly.
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_archive_title' ) ) {
 | 
						|
	add_action( 'generate_archive_title', 'generate_archive_title' );
 | 
						|
	/**
 | 
						|
	 * Build the archive title
 | 
						|
	 *
 | 
						|
	 * @since 1.3.24
 | 
						|
	 */
 | 
						|
	function generate_archive_title() {
 | 
						|
		if ( ! function_exists( 'the_archive_title' ) ) {
 | 
						|
			return;
 | 
						|
		}
 | 
						|
		?>
 | 
						|
		<header class="page-header">
 | 
						|
			<?php
 | 
						|
			/**
 | 
						|
			 * generate_before_archive_title hook.
 | 
						|
			 *
 | 
						|
			 * @since 0.1
 | 
						|
			 */
 | 
						|
			do_action( 'generate_before_archive_title' );
 | 
						|
			?>
 | 
						|
 | 
						|
			<h1 class="page-title">
 | 
						|
				<?php the_archive_title(); ?>
 | 
						|
			</h1>
 | 
						|
 | 
						|
			<?php
 | 
						|
			/**
 | 
						|
			 * generate_after_archive_title hook.
 | 
						|
			 *
 | 
						|
			 * @since 0.1
 | 
						|
			 *
 | 
						|
			 * @hooked generate_do_archive_description - 10
 | 
						|
			 */
 | 
						|
			do_action( 'generate_after_archive_title' );
 | 
						|
			?>
 | 
						|
		</header>
 | 
						|
		<?php
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_filter_the_archive_title' ) ) {
 | 
						|
	add_filter( 'get_the_archive_title', 'generate_filter_the_archive_title' );
 | 
						|
	/**
 | 
						|
	 * Alter the_archive_title() function to match our original archive title function
 | 
						|
	 *
 | 
						|
	 * @since 1.3.45
 | 
						|
	 *
 | 
						|
	 * @param string $title The archive title.
 | 
						|
	 * @return string The altered archive title
 | 
						|
	 */
 | 
						|
	function generate_filter_the_archive_title( $title ) {
 | 
						|
		if ( is_category() ) {
 | 
						|
			$title = single_cat_title( '', false );
 | 
						|
		} elseif ( is_tag() ) {
 | 
						|
			$title = single_tag_title( '', false );
 | 
						|
		} elseif ( is_author() ) {
 | 
						|
			/*
 | 
						|
			 * Queue the first post, that way we know
 | 
						|
			 * what author we're dealing with (if that is the case).
 | 
						|
			 */
 | 
						|
			the_post();
 | 
						|
 | 
						|
			$title = sprintf(
 | 
						|
				'%1$s<span class="vcard">%2$s</span>',
 | 
						|
				get_avatar( get_the_author_meta( 'ID' ), 50 ),
 | 
						|
				get_the_author()
 | 
						|
			);
 | 
						|
 | 
						|
			/*
 | 
						|
			 * Since we called the_post() above, we need to
 | 
						|
			 * rewind the loop back to the beginning that way
 | 
						|
			 * we can run the loop properly, in full.
 | 
						|
			 */
 | 
						|
			rewind_posts();
 | 
						|
		}
 | 
						|
 | 
						|
		return $title;
 | 
						|
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
add_action( 'generate_after_archive_title', 'generate_do_archive_description' );
 | 
						|
/**
 | 
						|
 * Output the archive description.
 | 
						|
 *
 | 
						|
 * @since 2.3
 | 
						|
 */
 | 
						|
function generate_do_archive_description() {
 | 
						|
	$term_description = term_description();
 | 
						|
 | 
						|
	if ( ! empty( $term_description ) ) {
 | 
						|
		printf( '<div class="taxonomy-description">%s</div>', $term_description ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
 | 
						|
	}
 | 
						|
 | 
						|
	if ( get_the_author_meta( 'description' ) && is_author() ) {
 | 
						|
		echo '<div class="author-info">' . get_the_author_meta( 'description' ) . '</div>';  // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * generate_after_archive_description hook.
 | 
						|
	 *
 | 
						|
	 * @since 0.1
 | 
						|
	 */
 | 
						|
	do_action( 'generate_after_archive_description' );
 | 
						|
}
 |