* add_action( 'after_setup_theme', 'my_child_theme_setup' );
* function my_child_theme_setup() {
* // We are providing our own filter for excerpt_length (or using the unfiltered value)
* remove_filter( 'excerpt_length', 'bq_excerpt_length' );
* ...
* }
*
*
* For more information on hooks, actions, and filters, see http://codex.wordpress.org/Plugin_API.
*
* @package WordPress
* @subpackage Black Queen
* @since Black Queen 1.0
*/
/**
* Set the content width based on the theme's design and stylesheet.
*
* Used to set the width of images and content. Should be equal to the width the theme
* is designed for, generally via the style.css stylesheet.
*/
if ( ! isset( $content_width ) )
$content_width = 640;
/** Tell WordPress to run bq_setup() when the 'after_setup_theme' hook is run. */
add_action( 'after_setup_theme', 'bq_setup' );
if ( ! function_exists( 'bq_setup' ) ):
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* Note that this function is hooked into the after_setup_theme hook, which runs
* before the init hook. The init hook is too late for some features, such as indicating
* support post thumbnails.
*
* To override bq_setup() in a child theme, add your own bq_setup to your child theme's
* functions.php file.
*
* @uses add_theme_support() To add support for post thumbnails and automatic feed links.
* @uses register_nav_menus() To add support for navigation menus.
* @uses add_custom_background() To add support for a custom background.
* @uses add_editor_style() To style the visual editor.
* @uses load_theme_textdomain() For translation/localization support.
* @uses add_custom_image_header() To add support for a custom header.
* @uses register_default_headers() To register the default custom header images provided with the theme.
* @uses set_post_thumbnail_size() To set a custom post thumbnail size.
*
* @since Black Queen 1.0
*/
function bq_setup() {
// This theme styles the visual editor with editor-style.css to match the theme style.
add_editor_style('css/editor-style.css');
// Add default posts and comments RSS feed links to head
add_theme_support( 'automatic-feed-links' );
// This theme uses post thumbnails
if ( function_exists( 'add_image_size' ) )
add_theme_support( 'post-thumbnails', array( 'post' ) );
if ( function_exists( 'add_image_size' ) ) {
add_image_size( 'bq-thumb', 133, 133, true );
}
// Make theme available for translation
// Translations can be filed in the /lang/ directory
load_theme_textdomain( 'black-queen', TEMPLATEPATH . '/lang' );
$locale = get_locale();
$locale_file = TEMPLATEPATH . "/lang/$locale.php";
if ( is_readable( $locale_file ) )
require_once( $locale_file );
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => __( 'Primary Navigation', 'black-queen' )
) );
// This theme allows users to set a custom background
add_custom_background();
// The height and width of your custom header. You can hook into the theme's own filters to change these values.
// Add a filter to bq_header_image_width and bq_header_image_height to change these values.
define( 'HEADER_IMAGE_WIDTH', apply_filters( 'bq_header_image_width', 220 ) );
define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'bq_header_image_height', 60 ) );
// Your changeable header business starts here
define( 'HEADER_TEXTCOLOR', '' );
// No CSS, just IMG call. The %s is a placeholder for the theme template directory URI.
// define( 'HEADER_IMAGE', '%s/i/headers/header-1.jpg' );
// Don't support text inside the header image.
define( 'NO_HEADER_TEXT', true );
// Add a way for the custom header to be styled in the admin panel that controls
// custom headers. See bq_admin_header_style(), below.
add_custom_image_header( '', 'bq_admin_header_style' );
// ... and thus ends the changeable header business.
// Default custom headers packaged with the theme. %s is a placeholder for the theme template directory URI.
register_default_headers( array(
'main' => array(
'url' => '%s/i/logo/bq_logo.png',
'thumbnail_url' => '%s/i/logo/bq_logo.png',
/* translators: header image description */
'description' => __('Main Logo', 'black-queen')
)
) );
}
endif;
if ( ! function_exists( 'bq_admin_header_style' ) ) :
/**
* Styles the header image displayed on the Appearance > Header admin panel.
*
* Referenced via add_custom_image_header() in bq_setup().
*
* @since Black Queen 1.0
*/
function bq_admin_header_style() {
?>
' . __( 'Read more ', 'black-queen' ) . '';
}
/**
* Replaces "[...]" (appended to automatically generated excerpts) with an ellipsis and bq_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.
*
* @since Black Queen 1.0
* @return string An ellipsis
*/
function bq_auto_excerpt_more( $more ) {
return ' …' . bq_continue_reading_link();
}
add_filter( 'excerpt_more', 'bq_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.
*
* @since Black Queen 1.0
* @return string Excerpt with a pretty "Continue Reading" link
*/
function bq_custom_excerpt_more( $output ) {
if ( has_excerpt() && ! is_attachment() ) {
$output .= bq_continue_reading_link();
}
return $output;
}
add_filter( 'get_the_excerpt', 'bq_custom_excerpt_more' );
/**
* Remove inline styles printed when the gallery shortcode is used.
*
* Galleries are styled by the theme in Twenty Ten's style.css.
*
* @since Black Queen 1.0
* @return string The gallery style filter, with the styles themselves removed.
*/
function bq_remove_gallery_css( $css ) {
return preg_replace( "##s", '', $css );
}
add_filter( 'gallery_style', 'bq_remove_gallery_css' );
# New Comments
if ( ! function_exists( 'bq_delete_comment_link' ) ) :
function bq_delete_comment_link($id) {
if(current_user_can('edit_post')) {
print '