forked from mirror/_s
_s: Introduce 4.1 archive template tags.
Now uses the new archive template tags and makes archive template titling way simpler! Added shims for backwards compatibility, which can be removed once WordPress 4.3 was released. See https://core.trac.wordpress.org/changeset/30223 Closes #556.
This commit is contained in:
parent
6c783cd09f
commit
bb867c0fcb
60
archive.php
60
archive.php
|
@ -15,65 +15,9 @@ get_header(); ?>
|
||||||
<?php if ( have_posts() ) : ?>
|
<?php if ( have_posts() ) : ?>
|
||||||
|
|
||||||
<header class="page-header">
|
<header class="page-header">
|
||||||
<h1 class="page-title">
|
|
||||||
<?php
|
|
||||||
if ( is_category() ) :
|
|
||||||
single_cat_title();
|
|
||||||
|
|
||||||
elseif ( is_tag() ) :
|
|
||||||
single_tag_title();
|
|
||||||
|
|
||||||
elseif ( is_author() ) :
|
|
||||||
printf( __( 'Author: %s', '_s' ), '<span class="vcard">' . get_the_author() . '</span>' );
|
|
||||||
|
|
||||||
elseif ( is_day() ) :
|
|
||||||
printf( __( 'Day: %s', '_s' ), '<span>' . get_the_date() . '</span>' );
|
|
||||||
|
|
||||||
elseif ( is_month() ) :
|
|
||||||
printf( __( 'Month: %s', '_s' ), '<span>' . get_the_date( _x( 'F Y', 'monthly archives date format', '_s' ) ) . '</span>' );
|
|
||||||
|
|
||||||
elseif ( is_year() ) :
|
|
||||||
printf( __( 'Year: %s', '_s' ), '<span>' . get_the_date( _x( 'Y', 'yearly archives date format', '_s' ) ) . '</span>' );
|
|
||||||
|
|
||||||
elseif ( is_tax( 'post_format', 'post-format-aside' ) ) :
|
|
||||||
_e( 'Asides', '_s' );
|
|
||||||
|
|
||||||
elseif ( is_tax( 'post_format', 'post-format-gallery' ) ) :
|
|
||||||
_e( 'Galleries', '_s' );
|
|
||||||
|
|
||||||
elseif ( is_tax( 'post_format', 'post-format-image' ) ) :
|
|
||||||
_e( 'Images', '_s' );
|
|
||||||
|
|
||||||
elseif ( is_tax( 'post_format', 'post-format-video' ) ) :
|
|
||||||
_e( 'Videos', '_s' );
|
|
||||||
|
|
||||||
elseif ( is_tax( 'post_format', 'post-format-quote' ) ) :
|
|
||||||
_e( 'Quotes', '_s' );
|
|
||||||
|
|
||||||
elseif ( is_tax( 'post_format', 'post-format-link' ) ) :
|
|
||||||
_e( 'Links', '_s' );
|
|
||||||
|
|
||||||
elseif ( is_tax( 'post_format', 'post-format-status' ) ) :
|
|
||||||
_e( 'Statuses', '_s' );
|
|
||||||
|
|
||||||
elseif ( is_tax( 'post_format', 'post-format-audio' ) ) :
|
|
||||||
_e( 'Audios', '_s' );
|
|
||||||
|
|
||||||
elseif ( is_tax( 'post_format', 'post-format-chat' ) ) :
|
|
||||||
_e( 'Chats', '_s' );
|
|
||||||
|
|
||||||
else :
|
|
||||||
_e( 'Archives', '_s' );
|
|
||||||
|
|
||||||
endif;
|
|
||||||
?>
|
|
||||||
</h1>
|
|
||||||
<?php
|
<?php
|
||||||
// Show an optional term description.
|
the_archive_title( '<h1 class="page-title">', '</h1>' );
|
||||||
$term_description = term_description();
|
the_archive_description( '<div class="taxonomy-description">', '</div>' );
|
||||||
if ( ! empty( $term_description ) ) :
|
|
||||||
printf( '<div class="taxonomy-description">%s</div>', $term_description );
|
|
||||||
endif;
|
|
||||||
?>
|
?>
|
||||||
</header><!-- .page-header -->
|
</header><!-- .page-header -->
|
||||||
|
|
||||||
|
|
|
@ -123,6 +123,98 @@ function _s_entry_footer() {
|
||||||
}
|
}
|
||||||
endif;
|
endif;
|
||||||
|
|
||||||
|
if ( ! function_exists( 'the_archive_title' ) ) :
|
||||||
|
/**
|
||||||
|
* Shim for `the_archive_title()`.
|
||||||
|
*
|
||||||
|
* Display the archive title based on the queried object.
|
||||||
|
*
|
||||||
|
* @todo Remove this function when WordPress 4.3 is released.
|
||||||
|
*
|
||||||
|
* @param string $before Optional. Content to prepend to the title. Default empty.
|
||||||
|
* @param string $after Optional. Content to append to the title. Default empty.
|
||||||
|
*/
|
||||||
|
function the_archive_title( $before = '', $after = '' ) {
|
||||||
|
if ( is_category() ) {
|
||||||
|
$title = sprintf( __( 'Category: %s', '_s' ), single_cat_title( '', false ) );
|
||||||
|
} elseif ( is_tag() ) {
|
||||||
|
$title = sprintf( __( 'Tag: %s', '_s' ), single_tag_title( '', false ) );
|
||||||
|
} elseif ( is_author() ) {
|
||||||
|
$title = sprintf( __( 'Author: %s', '_s' ), '<span class="vcard">' . get_the_author() . '</span>' );
|
||||||
|
} elseif ( is_year() ) {
|
||||||
|
$title = sprintf( __( 'Year: %s', '_s' ), get_the_date( _x( 'Y', 'yearly archives date format', '_s' ) ) );
|
||||||
|
} elseif ( is_month() ) {
|
||||||
|
$title = sprintf( __( 'Month: %s', '_s' ), get_the_date( _x( 'F Y', 'monthly archives date format', '_s' ) ) );
|
||||||
|
} elseif ( is_day() ) {
|
||||||
|
$title = sprintf( __( 'Day: %s', '_s' ), get_the_date( _x( 'F j, Y', 'daily archives date format', '_s' ) ) );
|
||||||
|
} elseif ( is_tax( 'post_format', 'post-format-aside' ) ) {
|
||||||
|
$title = _x( 'Asides', 'post format archive title', '_s' );
|
||||||
|
} elseif ( is_tax( 'post_format', 'post-format-gallery' ) ) {
|
||||||
|
$title = _x( 'Galleries', 'post format archive title', '_s' );
|
||||||
|
} elseif ( is_tax( 'post_format', 'post-format-image' ) ) {
|
||||||
|
$title = _x( 'Images', 'post format archive title', '_s' );
|
||||||
|
} elseif ( is_tax( 'post_format', 'post-format-video' ) ) {
|
||||||
|
$title = _x( 'Videos', 'post format archive title', '_s' );
|
||||||
|
} elseif ( is_tax( 'post_format', 'post-format-quote' ) ) {
|
||||||
|
$title = _x( 'Quotes', 'post format archive title', '_s' );
|
||||||
|
} elseif ( is_tax( 'post_format', 'post-format-link' ) ) {
|
||||||
|
$title = _x( 'Links', 'post format archive title', '_s' );
|
||||||
|
} elseif ( is_tax( 'post_format', 'post-format-status' ) ) {
|
||||||
|
$title = _x( 'Statuses', 'post format archive title', '_s' );
|
||||||
|
} elseif ( is_tax( 'post_format', 'post-format-audio' ) ) {
|
||||||
|
$title = _x( 'Audio', 'post format archive title', '_s' );
|
||||||
|
} elseif ( is_tax( 'post_format', 'post-format-chat' ) ) {
|
||||||
|
$title = _x( 'Chats', 'post format archive title', '_s' );
|
||||||
|
} elseif ( is_post_type_archive() ) {
|
||||||
|
$title = sprintf( __( 'Archives: %s', '_s' ), post_type_archive_title( '', false ) );
|
||||||
|
} elseif ( is_tax() ) {
|
||||||
|
$tax = get_taxonomy( get_queried_object()->taxonomy );
|
||||||
|
/* translators: 1: Taxonomy singular name, 2: Current taxonomy term */
|
||||||
|
$title = sprintf( __( '%1$s: %2$s', '_s' ), $tax->labels->singular_name, single_term_title( '', false ) );
|
||||||
|
} else {
|
||||||
|
$title = __( 'Archives', '_s' );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filter the archive title.
|
||||||
|
*
|
||||||
|
* @param string $title Archive title to be displayed.
|
||||||
|
*/
|
||||||
|
$title = apply_filters( 'get_the_archive_title', $title );
|
||||||
|
|
||||||
|
if ( ! empty( $title ) ) {
|
||||||
|
echo $before . $title . $after;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
endif;
|
||||||
|
|
||||||
|
if ( ! function_exists( 'the_archive_description' ) ) :
|
||||||
|
/**
|
||||||
|
* Shim for `the_archive_description()`.
|
||||||
|
*
|
||||||
|
* Display category, tag, or term description.
|
||||||
|
*
|
||||||
|
* @todo Remove this function when WordPress 4.3 is released.
|
||||||
|
*
|
||||||
|
* @param string $before Optional. Content to prepend to the description. Default empty.
|
||||||
|
* @param string $after Optional. Content to append to the description. Default empty.
|
||||||
|
*/
|
||||||
|
function the_archive_description( $before = '', $after = '' ) {
|
||||||
|
$description = apply_filters( 'get_the_archive_description', term_description() );
|
||||||
|
|
||||||
|
if ( ! empty( $description ) ) {
|
||||||
|
/**
|
||||||
|
* Filter the archive description.
|
||||||
|
*
|
||||||
|
* @see term_description()
|
||||||
|
*
|
||||||
|
* @param string $description Archive description to be displayed.
|
||||||
|
*/
|
||||||
|
echo $before . $description . $after;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
endif;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if a blog has more than 1 category.
|
* Returns true if a blog has more than 1 category.
|
||||||
*
|
*
|
||||||
|
|
Reference in New Issue