post_parent ) : get_adjacent_post( false, '', true );
$next = get_adjacent_post( false, '', false );
if ( ! $next && ! $previous )
return;
}
// Don't print empty markup in archives if there's only one page.
if ( $wp_query->max_num_pages < 2 && ( is_home() || is_archive() || is_search() ) )
return;
$nav_class = ( is_single() ) ? 'navigation-post' : 'navigation-paging';
?>
post_parent ) {
/**
* Grab the IDs of all the image attachments in a gallery so we can get the URL
* of the next adjacent image in a gallery, or the first image (if we're
* looking at the last image in a gallery), or, in a gallery of one, just the
* link to that image file.
*/
$attachments = array_values( get_children( array(
'post_parent' => $post->post_parent,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'orderby' => 'menu_order ID'
) ) );
// If there is more than 1 attachment in a gallery...
if ( count( $attachments ) > 1 ) {
foreach ( $attachments as $k => $attachment ) {
if ( $attachment->ID == $post->ID )
break;
}
$k++;
// get the URL of the next image attachment...
if ( isset( $attachments[ $k ] ) )
$next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
// or get the URL of the first image attachment.
else
$next_attachment_url = get_attachment_link( $attachments[0]->ID );
}
}
printf( '%3$s',
esc_url( $next_attachment_url ),
the_title_attribute( array( 'echo' => false ) ),
wp_get_attachment_image( $post->ID, $attachment_size )
);
}
endif;
if ( ! function_exists( 'trvl_posted_on' ) ) :
/**
* Prints HTML with meta information for the current post-date/time and author.
*/
function trvl_posted_on() {
printf( __( ' by %7$s', 'trvl' ),
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', 'trvl' ), get_the_author() ) ),
get_the_author()
);
}
endif;
/**
* Returns the first URL found in the post content.
*
* Falls back to the post permalink if no URL is found in the post.
*
* @since Trvl 1.0
*
* @return string URL
*/
function trvl_permalink() {
$link = has_post_format( 'link' ) && preg_match( '/]*?href=[\'"](.+?)[\'"]/is', get_the_content(), $matches ) ? $matches[1] : '';
if ( empty( $link ) )
$link = apply_filters( 'the_permalink', get_permalink() );
return esc_url( $link );
}
/**
* Returns true if a blog has more than 1 category
*/
function trvl_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 trvl_categorized_blog should return true
return true;
} else {
// This blog has only 1 category so trvl_categorized_blog should return false
return false;
}
}
/**
* Flush out the transients used in trvl_categorized_blog
*/
function trvl_category_transient_flusher() {
// Like, beat it. Dig?
delete_transient( 'all_the_cool_cats' );
}
add_action( 'edit_category', 'trvl_category_transient_flusher' );
add_action( 'save_post', 'trvl_category_transient_flusher' );