$c[] = 'untagged';
} else {
foreach ( (array) get_the_tags() as $tag )
$c[] = 'tag-' . $tag->slug;
}
// For password-protected posts
if ( $post->post_password )
$c[] = 'protected';
// Applies the time- and date-based classes (below) to post DIV
codium_extend_date_classes( mysql2date( 'U', $post->post_date ), $c );
// If it's the other to the every, then add 'alt' class
if ( ++$codium_extend_post_alt % 2 )
$c[] = 'alt';
// Separates classes with a single space, collates classes for post DIV
$c = join( ' ', apply_filters( 'post_class', $c ) ); // Available filter: post_class
// And tada!
return $print ? print($c) : $c;
}
// Define the num val for 'alt' classes (in post DIV and comment LI)
$codium_extend_post_alt = 1;
//$codium_extend_comment_alt = 1;
// Generates semantic classes for each comment LI element
function codium_extend_comment_class( $print = true ) {
global $comment, $post, $codium_extend_comment_alt;
// Collects the comment type (comment, trackback),
$c = array( get_comment_type() );
// Counts trackbacks (t[n]) or comments (c[n])
if ( $comment->comment_type == 'comment' ) {
$c[] = "c$codium_extend_comment_alt";
} else {
$c[] = "t$codium_extend_comment_alt";
}
// If the comment author has an id (registered), then print the log in name
if ( $comment->user_id > 0 ) {
$user = get_userdata($comment->user_id);
// For all registered users, 'byuser'; to specificy the registered user, 'commentauthor+[log in name]'
$c[] = 'byuser comment-author-' . sanitize_title_with_dashes(strtolower( $user->user_login ));
// For comment authors who are the author of the post
if ( $comment->user_id === $post->post_author )
$c[] = 'bypostauthor';
}
// If it's the other to the every, then add 'alt' class; collects time- and date-based classes
codium_extend_date_classes( mysql2date( 'U', $comment->comment_date ), $c, 'c-' );
if ( ++$codium_extend_comment_alt % 2 )
$c[] = 'alt';
// Separates classes with a single space, collates classes for comment LI
$c = join( ' ', apply_filters( 'comment_class', $c ) ); // Available filter: comment_class
// Tada again!
return $print ? print($c) : $c;
}
// count comment
function codium_extend_comment_count( $print = true ) {
global $comment, $post, $codium_extend_comment_alt;
// Counts trackbacks and comments
if ( $comment->comment_type == 'comment' ) {
$count[] = "$codium_extend_comment_alt";
} else {
$count[] = "$codium_extend_comment_alt";
}
$count = join( ' ', $count ); // Available filter: comment_class
// Tada again!
echo $count;
//return $print ? print($count) : $count;
}
// Generates time- and date-based classes for BODY, post DIVs, and comment LIs; relative to GMT (UTC)
function codium_extend_date_classes( $t, &$c, $p = '' ) {
$t = $t + ( get_option('gmt_offset') * 3600 );
$c[] = $p . 'y' . gmdate( 'Y', $t ); // Year
$c[] = $p . 'm' . gmdate( 'm', $t ); // Month
$c[] = $p . 'd' . gmdate( 'd', $t ); // Day
$c[] = $p . 'h' . gmdate( 'H', $t ); // Hour
}
// For category lists on category archives: Returns other categories except the current one (redundant)
function codium_extend_cats_meow($glue) {
$current_cat = single_cat_title( '', false );
$separator = "\n";
$cats = explode( $separator, get_the_category_list($separator) );
foreach ( $cats as $i => $str ) {
if ( strstr( $str, ">$current_cat<" ) ) {
unset($cats[$i]);
break;
}
}
if ( empty($cats) )
return false;
return trim(join( $glue, $cats ));
}
// For tag lists on tag archives: Returns other tags except the current one (redundant)
function codium_extend_tag_ur_it($glue) {
$current_tag = single_tag_title( '', '', false );
$separator = "\n";
$tags = explode( $separator, get_the_tag_list( "", "$separator", "" ) );
foreach ( $tags as $i => $str ) {
if ( strstr( $str, ">$current_tag<" ) ) {
unset($tags[$i]);
break;
}
}
if ( empty($tags) )
return false;
return trim(join( $glue, $tags ));
}
if ( ! function_exists( 'codium_extend_posted_on' ) ) :
// data before post
function codium_extend_posted_on() {
printf( __( '<span class="%1$s">Posted on</span> %2$s <span class="meta-sep">by</span> %3$s.', 'codium_extend' ),
'meta-prep meta-prep-author',
sprintf( '<a href="%1$s" title="%2$s" rel="bookmark"><span class="entry-date">%3$s</span></a>',
get_permalink(),
esc_attr( get_the_time() ),
get_the_date()
),
sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s">%3$s</a></span>',
get_author_posts_url( get_the_author_meta( 'ID' ) ),
sprintf( esc_attr__( 'View all posts by %s', 'codium_extend' ), get_the_author() ),
get_the_author()
)
);
}
endif;
if ( ! function_exists( 'codium_extend_posted_in' ) ) :
// data after post
function codium_extend_posted_in() {
// Retrieves tag list of current post, separated by commas.
$tag_list = get_the_tag_list( '', ', ' );
if ( $tag_list ) {
$posted_in = __( 'This entry was posted in %1$s and tagged %2$s. Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'codium_extend' );
} elseif ( is_object_in_taxonomy( get_post_type(), 'category' ) ) {
$posted_in = __( 'This entry was posted in %1$s. Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'codium_extend' );
} else {
$posted_in = __( 'Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'codium_extend' );
}
// Prints the string, replacing the placeholders.
printf(
$posted_in,
get_the_category_list( ', ' ),
$tag_list,
get_permalink(),
the_title_attribute( 'echo=0' )
);
}
endif;
// Widgets plugin: intializes the plugin after the widgets above have passed snuff
function codium_extend_widgets_init() {
register_sidebar(array(
'name' => 'SidebarTop',
'description' => 'Top sidebar',
'before_widget' => "\n\t\t\t" . '<li id="%1$s" class="widget %2$s"><div class="widgetblock">',
'after_widget' => "\n\t\t\t</div></li>\n",
'before_title' => "\n\t\t\t\t". '<div class="widgettitleb"><h3 class="widgettitle">',
'after_title' => "</h3></div>\n" .''
));
register_sidebar(array(
'name' => 'SidebarBottom',
'description' => 'Bottom sidebar',
'before_widget' => "\n\t\t\t" . '<li id="%1$s" class="widget %2$s"><div class="widgetblock">',
'after_widget' => "\n\t\t\t</div></li>\n",
'before_title' => "\n\t\t\t\t". '<div class="widgettitleb"><h3 class="widgettitle">',
'after_title' => "</h3></div>\n" .''
));
}
// Changes default [...] in excerpt to a real link
function codium_extend_excerpt_more($more) {
global $post;
$readmore = __(' read more <span class="meta-nav">»</span>', 'codium_extend' );
return ' <a href="'. get_permalink($post->ID) . '">' . $readmore . '</a>';
}
add_filter('excerpt_more', 'codium_extend_excerpt_more');
// Runs our code at the end to check that everything needed has loaded
add_action( 'init', 'codium_extend_widgets_init' );
// Adds filters for the description/meta content in archives.php
add_filter( 'archive_meta', 'wptexturize' );
add_filter( 'archive_meta', 'convert_smilies' );
add_filter( 'archive_meta', 'convert_chars' );
add_filter( 'archive_meta', 'wpautop' );
// Remember: the codium_extend is for play.
//Remove <p> in excerpt
function codium_extend_strip_para_tags ($content) {
if ( is_home() && ($paged < 2 )) {
$content = str_replace( '<p>', '', $content );
$content = str_replace( '</p>', '', $content );
return $content;
}
}
//Comment function
function codium_extend_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<li id="comment-<?php comment_ID() ?>" class="<?php codium_extend_comment_class() ?>">
<span class="count"><?php echo codium_extend_comment_count();?></span>
<div class="comment-author vcard">
<?php echo get_avatar( $comment, 48 ); ?>
<?php printf(__
('<div class="fn">%s</div> '), get_comment_author_link
()) ?> </div>
<?php if ($comment->comment_approved == '0') : ?>
<em><?php _e('Your comment is in moderation.') ?></em>
<br />
<?php endif; ?>
<div class="comment-meta">
<?php printf(__
('%1$s - %2$s <span class="meta-sep">|</span> <a href="%3$s" title="Permalink to this comment">Permalink</a>', 'codium_extend'), get_comment_date(),
get_comment_time(),
'#comment-' . get_comment_ID() );
edit_comment_link(__('Edit', 'codium_extend'), ' <span class="meta-sep">|</span> <span class="edit-link">', '</span>'); ?></div>
<div class="clear"></div>
<?php comment_text() ?>
<div class="reply">
<?php comment_reply_link
(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?> </div>
<?php
}
//custom menu support
add_action( 'init', 'codium_extend_register_my_menu' );
function codium_extend_register_my_menu() {
register_nav_menu( 'primary-menu', __( 'Primary Menu' ) );
}
?>