by %7$s', 'hero' ),
esc_url( get_permalink() ),
esc_attr( get_the_time() ),
esc_attr( get_the_date( 'c' ) ),
esc_html( get_the_date() ),
esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
esc_attr( sprintf( __( 'View all posts by %s', 'hero' ), get_the_author() ) ),
esc_html( get_the_author() )
);
}
endif;
if ( ! function_exists( 'hero_posted_in' ) ) :
/**
* Prints HTML with meta information for the categories, tags, permalink.
*
* @since Hero 1.0
*/
function hero_posted_in() {
$meta_text = '';
/* translators: used between list items, there is a space after the comma */
$category_list = get_the_category_list( __( ', ', 'hero' ) );
/* translators: used between list items, there is a space after the comma */
$tag_list = get_the_tag_list( '', esc_html__( ', ', 'hero' ) );
if ( ! hero_categorized_blog() ) {
// This blog only has 1 category so we just need to worry about tags in the meta text
if ( '' != $tag_list && ! is_wp_error( $tag_list ) ) {
$meta_text = __( ' tagged %2$s', 'hero' );
}
} else {
// But this blog has loads of categories so we should probably display them here
if ( '' != $tag_list && ! is_wp_error( $tag_list ) ) {
$meta_text = __( ' in %1$s and tagged %2$s', 'hero' );
} else {
$meta_text = __( ' in %1$s', 'hero' );
}
} // end check for categories on this blog
printf(
$meta_text,
$category_list,
$tag_list
);
}
endif;
/**
* Returns true if a blog has more than 1 category
*
* @since Hero 1.0
*/
function hero_categorized_blog() {
if ( false === ( $all_the_cool_cats = get_transient( 'all_the_cool_cats' ) ) ) {
// Create an array of all the categories that are attached to posts
$all_the_cool_cats = get_categories( array(
'hide_empty' => 1,
) );
// Count the number of categories that are attached to the posts
$all_the_cool_cats = is_countable( $all_the_cool_cats ) ? count( $all_the_cool_cats ) : 0;
set_transient( 'all_the_cool_cats', $all_the_cool_cats );
}
if ( '1' != $all_the_cool_cats ) {
// This blog has more than 1 category so hero_categorized_blog should return true
return true;
} else {
// This blog has only 1 category so hero_categorized_blog should return false
return false;
}
}
/**
* Flush out the transients used in hero_categorized_blog
*
* @since Hero 1.0
*/
function hero_category_transient_flusher() {
// Like, beat it. Dig?
delete_transient( 'all_the_cool_cats' );
}
add_action( 'edit_category', 'hero_category_transient_flusher' );
add_action( 'save_post', 'hero_category_transient_flusher' );
/**
* Featured Posts
*
* @since Hero 1.0
*/
function hero_has_multiple_featured_posts() {
$featured_posts = apply_filters( 'hero_get_featured_posts', array() );
if ( is_array( $featured_posts ) && 1 < count( $featured_posts ) )
return true;
return false;
}
function hero_get_featured_posts() {
return apply_filters( 'hero_get_featured_posts', false );
}