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() ) ? 'post-navigation' : 'paging-navigation'; ?> 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. */ $attachment_ids = get_posts( array( 'post_parent' => $post->post_parent, 'fields' => 'ids', 'numberposts' => 999, '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 ( is_countable( $attachment_ids ) && count( $attachment_ids ) > 1 ) { foreach ( $attachment_ids as $idx => $attachment_id ) { if ( $attachment_id == $post->ID ) { $next_id = $attachment_ids[ ( $idx + 1 ) % count( $attachment_ids ) ]; break; } } // get the URL of the next image attachment... if ( $next_id ) $next_attachment_url = get_attachment_link( $next_id ); // or get the URL of the first image attachment. else $next_attachment_url = get_attachment_link( array_shift( $attachment_ids ) ); } } 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( 'motif_entry_meta' ) ) : /** * Prints HTML with meta information for current post: categories, tags, permalink, author, and date. */ function motif_entry_meta() { // Sticky if ( is_sticky() && is_home() && ! is_paged() ) echo '' . __( 'Featured', 'motif' ) . ''; if ( 'post' == get_post_type() ) { // Post format $format = get_post_format(); if ( $format ) { printf( '%2$s', esc_url( get_post_format_link( $format ) ), get_post_format_string( $format ) ); } // Date motif_entry_date(); // Author printf( '%3$s', esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), esc_attr( sprintf( __( 'View all posts by %s', 'motif' ), get_the_author() ) ), esc_html( get_the_author() ) ); } } endif; if ( ! function_exists( 'motif_entry_date' ) ) : /** * Returns HTML with time information for current post */ function motif_entry_date() { $time_string = ''; if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) $time_string .= ''; $time_string = sprintf( $time_string, esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ), esc_attr( get_the_modified_date( 'c' ) ), esc_html( get_the_modified_date() ) ); printf( '%3$s', esc_url( get_permalink() ), esc_attr( sprintf( __( 'Permalink to %s', 'motif' ), the_title_attribute( 'echo=0' ) ) ), $time_string ); } endif; /** * Return the first link found in the post content or fall back to permalink. */ if ( ! function_exists( 'motif_get_link_url' ) ) : function motif_get_link_url() { $content = get_the_content(); $has_url = get_url_in_content( $content ); return ( $has_url ) ? $has_url : apply_filters( 'the_permalink', get_permalink() ); } endif; // motif_get_link_url /** * Returns true if a blog has more than 1 category */ function motif_categorized_blog() { if ( false === ( $all_the_cool_cats = get_transient( 'motif_category_count' ) ) ) { // 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( 'motif_category_count', $all_the_cool_cats ); } if ( '1' != $all_the_cool_cats ) { // This blog has more than 1 category so motif_categorized_blog should return true return true; } else { // This blog has only 1 category so motif_categorized_blog should return false return false; } } /** * Flush out the transients used in motif_categorized_blog */ function motif_category_transient_flusher() { // Like, beat it. Dig? delete_transient( 'motif_category_count' ); } add_action( 'edit_category', 'motif_category_transient_flusher' ); add_action( 'save_post', 'motif_category_transient_flusher' );