Instantly share code, notes, and snippets.
Last active
August 29, 2015 14:03
-
Star
0
(0)
You must be signed in to star a gist -
Fork
0
(0)
You must be signed in to fork a gist
-
Save amitabhaghosh197/b5d9f9bbf65bebbd4461 to your computer and use it in GitHub Desktop.
Underscore template-tags.php
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Refference 1. Codex: get_the_category http://codex.wordpress.org/Function_Reference/get_the_category | |
//Reff 2 : get_the_category only displays 'Array'---> http://wordpress.org/support/topic/get_the_category-only-displays-array | |
// Reff 3 : Codex Function Reference/get category link ---> http://codex.wordpress.org/Function_Reference/get_category_link | |
?> | |
<?php | |
/** | |
* Custom template tags for this theme. | |
* | |
* Eventually, some of the functionality here could be replaced by core features. | |
* | |
* @package stepup | |
*/ | |
if ( ! function_exists( 'stepup_paging_nav' ) ) : | |
/** | |
* Display navigation to next/previous set of posts when applicable. | |
*/ | |
function stepup_paging_nav() { | |
// Don't print empty markup if there's only one page. | |
if ( $GLOBALS['wp_query']->max_num_pages < 2 ) { | |
return; | |
} | |
?> | |
<nav class="navigation paging-navigation" role="navigation"> | |
<h1 class="screen-reader-text"><?php _e( 'Posts navigation', 'stepup' ); ?></h1> | |
<div class="nav-links"> | |
<?php if ( get_next_posts_link() ) : ?> | |
<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">←</span> Older posts', 'stepup' ) ); ?></div> | |
<?php endif; ?> | |
<?php if ( get_previous_posts_link() ) : ?> | |
<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">→</span>', 'stepup' ) ); ?></div> | |
<?php endif; ?> | |
</div><!-- .nav-links --> | |
</nav><!-- .navigation --> | |
<?php | |
} | |
endif; | |
if ( ! function_exists( 'stepup_post_nav' ) ) : | |
/** | |
* Display navigation to next/previous post when applicable. | |
*/ | |
function stepup_post_nav() { | |
// Don't print empty markup if there's nowhere to navigate. | |
$previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true ); | |
$next = get_adjacent_post( false, '', false ); | |
if ( ! $next && ! $previous ) { | |
return; | |
} | |
?> | |
<nav class="navigation post-navigation" role="navigation"> | |
<h1 class="screen-reader-text"><?php _e( 'Post navigation', 'stepup' ); ?></h1> | |
<div class="nav-links"> | |
<?php | |
previous_post_link( '<div class="nav-previous">%link</div>', _x( '<span class="meta-nav">←</span> %title', 'Previous post link', 'stepup' ) ); | |
next_post_link( '<div class="nav-next">%link</div>', _x( '%title <span class="meta-nav">→</span>', 'Next post link', 'stepup' ) ); | |
?> | |
</div><!-- .nav-links --> | |
</nav><!-- .navigation --> | |
<?php | |
} | |
endif; | |
if ( ! function_exists( 'stepup_posted_on' ) ) : | |
/** | |
* Prints HTML with meta information for the current post-date/time and author. | |
*/ | |
function stepup_posted_on() { | |
//$category = '<a href="' .esc_url(get_permalink()).'">%s</a>'; | |
$categories = get_the_category(); | |
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time>'; | |
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) { | |
$time_string .= '<time class="updated" datetime="%3$s">%4$s</time>'; | |
} | |
//$category = sprintf($category, esc_attr(get_the_category())); | |
$category_show = '<span class=""><a href=" ' .get_category_link($categories). ' ">' . $categories[0]->cat_name . '</a></span>'; | |
//$postheader .= '<h3 class="entry-title"><a href="' . get_permalink() . '" rel="bookmark">' . get_the_title() . '</a></h3>'; | |
$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() ) | |
); | |
$posted_on = sprintf( | |
_x( 'Posted under '. $category_show. 'on %s', 'post date', 'stepup' ), | |
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>' | |
); | |
$byline = sprintf( | |
_x( 'by %s', 'post author', 'stepup' ), | |
'<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>' | |
); | |
echo '<span class="posted-on">' . $posted_on . '</span><span class="byline"> ' . $byline . '</span>'; | |
} | |
endif; | |
/** | |
* Returns true if a blog has more than 1 category. | |
* | |
* @return bool | |
*/ | |
function stepup_categorized_blog() { | |
if ( false === ( $all_the_cool_cats = get_transient( 'stepup_categories' ) ) ) { | |
// Create an array of all the categories that are attached to posts. | |
$all_the_cool_cats = get_categories( array( | |
'fields' => 'ids', | |
'hide_empty' => 1, | |
// We only need to know if there is more than one category. | |
'number' => 2, | |
) ); | |
// Count the number of categories that are attached to the posts. | |
$all_the_cool_cats = count( $all_the_cool_cats ); | |
set_transient( 'stepup_categories', $all_the_cool_cats ); | |
} | |
if ( $all_the_cool_cats > 1 ) { | |
// This blog has more than 1 category so stepup_categorized_blog should return true. | |
return true; | |
} else { | |
// This blog has only 1 category so stepup_categorized_blog should return false. | |
return false; | |
} | |
} | |
/** | |
* Flush out the transients used in stepup_categorized_blog. | |
*/ | |
function stepup_category_transient_flusher() { | |
// Like, beat it. Dig? | |
delete_transient( 'stepup_categories' ); | |
} | |
add_action( 'edit_category', 'stepup_category_transient_flusher' ); | |
add_action( 'save_post', 'stepup_category_transient_flusher' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment