__( 'Primary Menu', 'bubblepress' ),
) );
/**
* Add default posts and comments RSS feed links to head
*/
add_theme_support( 'automatic-feed-links' );
/**
* Add support for the Aside and Gallery Post Formats
*/
add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
/**
* Get our wp_nav_menu() fallback, wp_page_menu(), to show a home link.
*/
function bubblepress_page_menu_args($args) {
$args['show_home'] = true;
return $args;
}
add_filter( 'wp_page_menu_args', 'bubblepress_page_menu_args' );
/**
* Register widgetized area and update sidebar with default widgets
*/
function bubblepress_widgets_init() {
register_sidebar( array(
'name' => __( 'Sidebar 1', 'bubblepress' ),
'id' => 'sidebar-1',
'before_widget' => '",
'before_title' => '
',
'after_title' => '
',
) );
}
add_action( 'widgets_init', 'bubblepress_widgets_init' );
/**
* Utilizes the `wp_title` filter to add text to the default output
*/
if ( ! function_exists( 'bubblepress_wp_title' ) ) {
function bubblepress_wp_title() {
global $page, $paged;
// Default title
$title_text = wp_title( '|', false, 'right' ) . get_bloginfo( 'name' );
// Add the blog description (tagline) for the home/front page.
$site_tagline = get_bloginfo( 'description', 'display' );
if ( $site_tagline && ( is_home() || is_front_page() ) )
$title_text .= " | $site_tagline";
// Add a page number if necessary:
if ( $paged >= 2 || $page >= 2 )
$title_text .= ' | ' . sprintf( __( 'Page %s', 'bubblepress-wp-title-textdomain' ), max( $paged, $page ) );
// Use `apply_filters` on `wp_title` and echo
$bubblepress_wp_title = apply_filters( 'wp_title', $title_text );
echo $bubblepress_wp_title;
}
}
if ( ! function_exists( 'bubblepress_comment' ) ) :
/**
* Template for comments and pingbacks.
*
* To override this walker in a child theme without modifying the comments template
* simply create your own bubblepress_comment(), and that function will be used instead.
*
* Used as a callback by wp_list_comments() for displaying the comments.
*
* @since BubblePress 1.0
*/
function bubblepress_comment( $comment, $args, $depth ) {
$GLOBALS['comment'] = $comment;
switch ( $comment->comment_type ) :
case 'pingback' :
case 'trackback' :
?>
Posted on by %7$s', 'bubblepress' ),
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', 'bubblepress' ), get_the_author() ) ),
esc_html( get_the_author() )
);
}
endif;
/**
* Adds custom classes to the array of body classes.
*
* @since BubblePress 1.0
*/
function bubblepress_body_classes( $classes ) {
// Adds a class of single-author to blogs with only 1 published author
if ( ! is_multi_author() ) {
$classes[] = 'single-author';
}
return $classes;
}
add_filter( 'body_class', 'bubblepress_body_classes' );
/**
* Returns true if a blog has more than 1 category
*
* @since BubblePress 1.0
*/
function bubblepress_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 = count( $all_the_cool_cats );
set_transient( 'all_the_cool_cats', $all_the_cool_cats );
}
if ( '1' != $all_the_cool_cats ) {
// This blog has more than 1 category so bubblepress_categorized_blog should return true
return true;
} else {
// This blog has only 1 category so bubblepress_categorized_blog should return false
return false;
}
}
/**
* Flush out the transients used in bubblepress_categorized_blog
*
* @since BubblePress 1.0
*/
function bubblepress_category_transient_flusher() {
// Like, beat it. Dig?
delete_transient( 'all_the_cool_cats' );
}
add_action( 'edit_category', 'bubblepress_category_transient_flusher' );
add_action( 'save_post', 'bubblepress_category_transient_flusher' );
function bubblepress_enqueue_comment_reply() {
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
add_action( 'wp_enqueue_scripts', 'bubblepress_enqueue_comment_reply' );
/**
* This theme was built with PHP, Semantic HTML, CSS, love, and a BubblePress.
*/