width, get_custom_header()->height, true ); /** * Add Duster's custom image sizes */ add_image_size( 'large-feature', get_custom_header()->width, 500, true ); // Used for large feature images add_image_size( 'small-feature', 500, 500 ); // Used for featured posts if a large-feature doesn't exist /** * This theme uses wp_nav_menu() in one location. */ register_nav_menus( array( 'primary' => __( 'Primary Menu', 'duster' ), ) ); /** * Enable support for Post Formats */ add_theme_support( 'post-formats', array( 'aside', 'link', 'gallery', 'status', 'quote' ) ); } endif; // duster_setup add_action( 'after_setup_theme', 'duster_setup' ); /** * Setup the WordPress core custom background feature. * * Use add_theme_support to register support for WordPress 3.4+ * as well as provide backward compatibility for previous versions. * Use feature detection of wp_get_theme() which was introduced * in WordPress 3.4. * * Hooks into the after_setup_theme action. */ function duster_register_custom_background() { $args = array( 'default-color' => '', 'default-image' => '', ); $args = apply_filters( 'duster_custom_background_args', $args ); if ( function_exists( 'wp_get_theme' ) ) { add_theme_support( 'custom-background', $args ); } else { define( 'BACKGROUND_COLOR', $args['default-color'] ); define( 'BACKGROUND_IMAGE', $args['default-image'] ); add_custom_background(); } } add_action( 'after_setup_theme', 'duster_register_custom_background' ); /** * Enqueue scripts and styles */ function duster_scripts() { wp_enqueue_style( 'duster', get_stylesheet_uri() ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) wp_enqueue_script( 'comment-reply' ); } add_action( 'wp_enqueue_scripts', 'duster_scripts' ); /** * Sets the post excerpt length to 40 characters. * * To override this length in a child theme, remove the filter and add your own * function tied to the excerpt_length filter hook. */ function duster_excerpt_length( $length ) { return 40; } add_filter( 'excerpt_length', 'duster_excerpt_length' ); /** * Returns a "Continue Reading" link for excerpts */ function duster_continue_reading_link() { return ' ' . __( 'Continue reading '; } /** * Replaces "[...]" (appended to automatically generated excerpts) with an ellipsis and duster_continue_reading_link(). * * To override this in a child theme, remove the filter and add your own * function tied to the excerpt_more filter hook. */ function duster_auto_excerpt_more( $more ) { return ' …' . duster_continue_reading_link(); } add_filter( 'excerpt_more', 'duster_auto_excerpt_more' ); /** * Adds a pretty "Continue Reading" link to custom post excerpts. * * To override this link in a child theme, remove the filter and add your own * function tied to the get_the_excerpt filter hook. */ function duster_custom_excerpt_more( $output ) { if ( has_excerpt() && ! is_attachment() ) { $output .= duster_continue_reading_link(); } return $output; } add_filter( 'get_the_excerpt', 'duster_custom_excerpt_more' ); /** * Add custom body classes */ function duster_body_class($classes) { if ( is_singular() && ! is_home() && ! is_page_template( 'showcase.php' ) ) $classes[] = 'singular'; return $classes; } add_filter( 'body_class', 'duster_body_class' ); /** * Get our wp_nav_menu() fallback, wp_page_menu(), to show a home link. */ function duster_page_menu_args( $args ) { $args['show_home'] = true; return $args; } add_filter( 'wp_page_menu_args', 'duster_page_menu_args' ); /** * Register widgetized area and update sidebar with default widgets */ function duster_widgets_init() { register_sidebar( array( 'name' => __( 'Main Sidebar', 'duster' ), 'id' => 'sidebar-1', 'before_widget' => '', 'before_title' => ' ', 'duster' ) . '