2010-02-07 17:16:26 +01:00
< ? php
2010-03-30 00:03:15 +02:00
/**
* TwentyTen functions and definitions
*
2010-03-30 02:05:17 +02:00
* Sets up the theme and provides some helper functions . Some helper functions
* are used in the theme as custom template tags . Others are attached to action and
* filter hooks in WordPress to change core functionality .
*
* The first function , twentyten_setup (), sets up the theme by registering support
* for various features in WordPress , such as post thumbnails , navigation menus , and the like .
*
* When using a child theme ( see http :// codex . wordpress . org / Theme_Development ), you can
* override certain functions ( those wrapped in a function_exists () call ) by defining
* them first in your child theme 's functions.php file. The child theme' s functions . php
* file is included before the parent theme ' s file , so the child theme functions would
* be used .
*
* Functions that are not pluggable ( not wrapped in function_exists ()) are instead attached
* to a filter or action hook . The hook can be removed by using remove_action () or
2010-03-30 14:55:08 +02:00
* remove_filter () and you can attach your own function to the hook .
*
2010-04-02 06:45:22 +02:00
* We can remove the parent theme ' s hook only after it is attached , which means we need to
* wait until setting up the child theme :
2010-03-30 02:05:17 +02:00
*
* < code >
* add_action ( 'after_setup_theme' , 'my_child_theme_setup' );
* function my_child_theme_setup () {
2010-03-30 14:55:08 +02:00
* // We are providing our own filter for excerpt_length (or using the unfiltered value)
* remove_filter ( 'excerpt_length' , 'twentyten_excerpt_length' );
* ...
2010-03-30 02:05:17 +02:00
* }
* </ code >
*
* For more information on hooks , see http :// codex . wordpress . org / Plugin_API .
2010-03-30 00:03:15 +02:00
*
* @ package WordPress
* @ subpackage Twenty Ten
* @ since 3.0 . 0
*/
2010-02-07 17:16:26 +01:00
2010-03-30 00:03:15 +02:00
/**
2010-03-30 02:05:17 +02:00
* Set the content width based on the theme ' s design and stylesheet .
2010-03-30 00:03:15 +02:00
*
2010-03-30 02:05:17 +02:00
* 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 .
2010-03-30 00:03:15 +02:00
*/
2010-02-14 22:39:20 +01:00
if ( ! isset ( $content_width ) )
2010-02-25 09:56:19 +01:00
$content_width = 640 ;
2010-02-14 22:39:20 +01:00
2010-03-30 02:05:17 +02:00
/** Tell WordPress to run twentyten_setup() when the 'after_setup_theme' hook is run. */
add_action ( 'after_setup_theme' , 'twentyten_setup' );
2010-04-02 02:54:48 +02:00
if ( ! function_exists ( 'twentyten_setup' ) ) :
2010-03-30 00:03:15 +02:00
/**
2010-03-30 02:05:17 +02:00
* 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 .
*
2010-04-02 02:54:48 +02:00
* To override twentyten_setup () in a child theme , add your own twentyten_setup to your child theme ' s
* functions . php file .
2010-03-30 00:03:15 +02:00
*
2010-03-30 02:05:17 +02:00
* @ uses add_theme_support () To add support for post thumbnails , navigation menus , and automatic feed links .
* @ 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 .
2010-03-30 00:03:15 +02:00
*
2010-03-30 02:05:17 +02:00
* @ since 3.0 . 0
2010-03-30 00:03:15 +02:00
*/
2010-03-30 02:05:17 +02:00
function twentyten_setup () {
2010-03-30 00:03:15 +02:00
// This theme styles the visual editor with editor-style.css to match the theme style.
add_editor_style ();
2010-03-30 02:05:17 +02:00
// This theme uses post thumbnails
2010-03-30 00:03:15 +02:00
add_theme_support ( 'post-thumbnails' );
// This theme uses wp_nav_menu()
add_theme_support ( 'nav-menus' );
// Add default posts and comments RSS feed links to head
add_theme_support ( 'automatic-feed-links' );
// Make theme available for translation
// Translations can be filed in the /languages/ directory
load_theme_textdomain ( 'twentyten' , TEMPLATEPATH . '/languages' );
$locale = get_locale ();
$locale_file = TEMPLATEPATH . " /languages/ $locale .php " ;
if ( is_readable ( $locale_file ) )
require_once ( $locale_file );
2010-03-30 02:05:17 +02:00
// This theme allows users to set a custom background
add_custom_background ();
// Your changeable header business starts here
2010-03-16 21:17:22 +01:00
define ( 'HEADER_TEXTCOLOR' , '' );
2010-03-30 02:05:17 +02:00
// No CSS, just IMG call. The %s is a placeholder for the theme template directory URI.
define ( 'HEADER_IMAGE' , '%s/images/headers/forestfloor.jpg' );
2010-03-30 00:03:15 +02:00
2010-03-30 02:05:17 +02:00
// 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 twentyten_header_image_width and twentyten_header_image_height to change these values.
2010-02-14 22:39:20 +01:00
define ( 'HEADER_IMAGE_WIDTH' , apply_filters ( 'twentyten_header_image_width' , 940 ) );
define ( 'HEADER_IMAGE_HEIGHT' , apply_filters ( 'twentyten_header_image_height' , 198 ) );
2010-03-30 00:03:15 +02:00
2010-03-30 02:05:17 +02:00
// We'll be using post thumbnails for custom header images on posts and pages.
// We want them to be 940 pixels wide by 198 pixels tall (larger images will be auto-cropped to fit).
set_post_thumbnail_size ( HEADER_IMAGE_WIDTH , HEADER_IMAGE_HEIGHT , true );
// Don't support text inside the header image.
2010-02-14 22:39:20 +01:00
define ( 'NO_HEADER_TEXT' , true );
2010-03-30 02:05:17 +02:00
// Add a way for the custom header to be styled in the admin panel that controls
// custom headers. See twentyten_admin_header_style(), below.
2010-02-14 22:39:20 +01:00
add_custom_image_header ( '' , 'twentyten_admin_header_style' );
2010-03-30 02:05:17 +02:00
// ... and thus ends the changeable header business.
2010-03-30 00:03:15 +02:00
2010-03-30 02:05:17 +02:00
// Default custom headers packaged with the theme. %s is a placeholder for the theme template directory URI.
2010-03-16 21:17:22 +01:00
register_default_headers ( array (
'berries' => array (
'url' => '%s/images/headers/berries.jpg' ,
'thumbnail_url' => '%s/images/headers/berries-thumbnail.jpg' ,
2010-03-17 00:11:30 +01:00
'description' => __ ( 'Berries' , 'twentyten' )
2010-03-16 21:17:22 +01:00
),
'cherryblossom' => array (
'url' => '%s/images/headers/cherryblossoms.jpg' ,
'thumbnail_url' => '%s/images/headers/cherryblossoms-thumbnail.jpg' ,
2010-03-17 00:11:30 +01:00
'description' => __ ( 'Cherry Blossoms' , 'twentyten' )
2010-03-16 21:17:22 +01:00
),
'concave' => array (
'url' => '%s/images/headers/concave.jpg' ,
'thumbnail_url' => '%s/images/headers/concave-thumbnail.jpg' ,
2010-03-17 00:11:30 +01:00
'description' => __ ( 'Concave' , 'twentyten' )
2010-03-16 21:17:22 +01:00
),
'fern' => array (
'url' => '%s/images/headers/fern.jpg' ,
'thumbnail_url' => '%s/images/headers/fern-thumbnail.jpg' ,
2010-03-17 00:11:30 +01:00
'description' => __ ( 'Fern' , 'twentyten' )
2010-03-16 21:17:22 +01:00
),
'forestfloor' => array (
'url' => '%s/images/headers/forestfloor.jpg' ,
'thumbnail_url' => '%s/images/headers/forestfloor-thumbnail.jpg' ,
2010-03-17 00:11:30 +01:00
'description' => __ ( 'Forest Floor' , 'twentyten' )
2010-03-16 21:17:22 +01:00
),
'inkwell' => array (
'url' => '%s/images/headers/inkwell.jpg' ,
'thumbnail_url' => '%s/images/headers/inkwell-thumbnail.jpg' ,
2010-03-17 00:11:30 +01:00
'description' => __ ( 'Inkwell' , 'twentyten' )
2010-03-16 21:17:22 +01:00
),
'path' => array (
'url' => '%s/images/headers/path.jpg' ,
'thumbnail_url' => '%s/images/headers/path-thumbnail.jpg' ,
2010-03-17 00:11:30 +01:00
'description' => __ ( 'Path' , 'twentyten' )
2010-03-16 21:17:22 +01:00
),
'sunset' => array (
'url' => '%s/images/headers/sunset.jpg' ,
'thumbnail_url' => '%s/images/headers/sunset-thumbnail.jpg' ,
2010-03-17 00:11:30 +01:00
'description' => __ ( 'Sunset' , 'twentyten' )
2010-03-16 21:17:22 +01:00
)
) );
2010-02-14 22:39:20 +01:00
}
2010-04-02 02:54:48 +02:00
endif ;
2010-02-07 17:16:26 +01:00
2010-02-14 22:39:20 +01:00
if ( ! function_exists ( 'twentyten_admin_header_style' ) ) :
2010-03-30 00:03:15 +02:00
/**
2010-03-30 02:05:17 +02:00
* Styles the header image displayed on the Appearance > Header admin panel .
*
* Referenced via add_custom_image_header () in twentyten_setup () .
*
* @ since 3.0 . 0
2010-03-30 00:03:15 +02:00
*/
2010-02-07 17:16:26 +01:00
function twentyten_admin_header_style () {
?>
< style type = " text/css " >
#headimg {
height : < ? php echo HEADER_IMAGE_HEIGHT ; ?> px;
width : < ? php echo HEADER_IMAGE_WIDTH ; ?> px;
}
#headimg h1, #headimg #desc {
display : none ;
}
</ style >
< ? php
}
2010-02-14 22:39:20 +01:00
endif ;
2010-02-07 17:16:26 +01:00
2010-02-14 22:39:20 +01:00
if ( ! function_exists ( 'twentyten_the_page_number' ) ) :
2010-03-30 00:03:15 +02:00
/**
2010-03-30 02:05:17 +02:00
* Prints the page number currently being browsed , with a vertical bar before it .
2010-03-30 00:03:15 +02:00
*
2010-03-30 02:05:17 +02:00
* Used in Twenty Ten ' s header . php to add the page number to the < title > HTML tag .
2010-03-30 00:03:15 +02:00
*
2010-03-30 02:05:17 +02:00
* @ since 3.0 . 0
2010-03-30 00:03:15 +02:00
*/
2010-02-14 22:39:20 +01:00
function twentyten_the_page_number () {
2010-03-30 15:12:36 +02:00
global $paged ; // Contains page number.
if ( $paged >= 2 )
echo ' | ' . sprintf ( __ ( 'Page %s' , 'twentyten' ), $paged );
2010-02-13 14:35:03 +01:00
}
2010-02-14 22:39:20 +01:00
endif ;
2010-02-07 17:16:26 +01:00
2010-03-30 00:03:15 +02:00
/**
2010-03-30 02:05:17 +02:00
* 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 .
2010-03-30 00:03:15 +02:00
*
* @ return int
*/
2010-02-14 22:39:20 +01:00
function twentyten_excerpt_length ( $length ) {
2010-02-07 17:16:26 +01:00
return 40 ;
}
2010-02-14 22:39:20 +01:00
add_filter ( 'excerpt_length' , 'twentyten_excerpt_length' );
2010-02-07 17:16:26 +01:00
2010-03-30 00:03:15 +02:00
/**
2010-03-30 02:05:17 +02:00
* Sets the " read more " link to something pretty .
2010-03-30 00:03:15 +02:00
*
2010-03-30 02:05:17 +02:00
* To override this link in a child theme , remove the filter and add your own
* function tied to the excerpt_more filter hook .
2010-03-30 00:03:15 +02:00
*
2010-03-30 02:05:17 +02:00
* @ since 3.0 . 0
* @ return string A pretty 'Continue reading' link .
2010-03-30 00:03:15 +02:00
*/
2010-03-16 21:17:22 +01:00
function twentyten_excerpt_more ( $more ) {
2010-03-17 00:11:30 +01:00
return ' … <a href="' . get_permalink () . '">' . __ ( 'Continue reading <span class="meta-nav">→</span>' , 'twentyten' ) . '</a>' ;
2010-02-07 17:16:26 +01:00
}
2010-02-14 22:39:20 +01:00
add_filter ( 'excerpt_more' , 'twentyten_excerpt_more' );
2010-02-07 17:16:26 +01:00
2010-03-30 02:05:17 +02:00
/**
* Remove inline styles printed when the gallery shortcode is used .
*
* Galleries are styled by the theme in Twenty Ten ' s style . css .
*
* @ return string The gallery style filter , with the styles themselves removed .
*/
function twentyten_remove_gallery_css ( $css ) {
return preg_replace ( " #<style type='text/css'>(.*?)</style>#s " , '' , $css );
}
add_filter ( 'gallery_style' , 'twentyten_remove_gallery_css' );
2010-02-14 22:39:20 +01:00
if ( ! function_exists ( 'twentyten_comment' ) ) :
2010-03-30 00:03:15 +02:00
/**
2010-03-30 02:05:17 +02:00
* Template for comments and pingbacks .
2010-03-30 00:03:15 +02:00
*
2010-03-30 02:05:17 +02:00
* To override this walker in a child theme without modifying the comments template
* simply create your own twentyten_comment (), and that function will be used instead .
2010-03-30 00:03:15 +02:00
*
2010-03-30 02:05:17 +02:00
* Used as a callback by wp_list_comments () for displaying the comments .
*
* @ since 3.0 . 0
2010-03-30 00:03:15 +02:00
*/
2010-02-14 22:39:20 +01:00
function twentyten_comment ( $comment , $args , $depth ) {
$GLOBALS [ 'comment' ] = $comment ; ?>
< ? php if ( '' == $comment -> comment_type ) : ?>
2010-02-14 02:00:22 +01:00
< li < ? php comment_class (); ?> id="li-comment-<?php comment_ID(); ?>">
2010-02-07 17:16:26 +01:00
< div id = " comment-<?php comment_ID(); ?> " >
< div class = " comment-author vcard " >
2010-02-14 02:00:22 +01:00
< ? php echo get_avatar ( $comment , 40 ); ?>
2010-03-17 00:11:30 +01:00
< ? php printf ( __ ( '<cite class="fn">%s</cite> <span class="says">says:</span>' , 'twentyten' ), get_comment_author_link () ); ?>
2010-02-07 17:16:26 +01:00
</ div >
2010-02-14 02:00:22 +01:00
< ? php if ( $comment -> comment_approved == '0' ) : ?>
< em >< ? php _e ( 'Your comment is awaiting moderation.' , 'twentyten' ); ?> </em>
2010-02-07 17:16:26 +01:00
< br />
< ? php endif ; ?>
2010-03-17 00:11:30 +01:00
< div class = " comment-meta commentmetadata " >< a href = " <?php echo esc_url( get_comment_link( $comment->comment_ID ) ); ?> " >< ? php printf ( __ ( '%1$s at %2$s' , 'twentyten' ), get_comment_date (), get_comment_time () ); ?> </a><?php edit_comment_link( __( '(Edit)', 'twentyten' ),' ','' ); ?></div>
2010-02-07 17:16:26 +01:00
2010-02-14 02:00:22 +01:00
< div class = " comment-body " >< ? php comment_text (); ?> </div>
2010-02-07 17:16:26 +01:00
< div class = " reply " >
2010-02-14 22:39:20 +01:00
< ? php comment_reply_link ( array_merge ( $args , array ( 'depth' => $depth , 'max_depth' => $args [ 'max_depth' ] ) ) ); ?>
2010-02-07 17:16:26 +01:00
</ div >
2010-02-08 19:02:23 +01:00
</ div >
2010-02-07 17:16:26 +01:00
2010-02-14 22:39:20 +01:00
< ? php else : ?>
2010-02-07 17:16:26 +01:00
< li class = " post pingback " >
2010-02-14 02:00:22 +01:00
< p >< ? php _e ( 'Pingback: ' , 'twentyten' ); ?> <?php comment_author_link(); ?><?php edit_comment_link ( __('edit', 'twentyten'), ' ', '' ); ?></p>
2010-02-14 22:39:20 +01:00
< ? php endif ;
2010-02-07 17:16:26 +01:00
}
2010-02-14 22:39:20 +01:00
endif ;
2010-02-07 17:16:26 +01:00
2010-02-14 22:39:20 +01:00
if ( ! function_exists ( 'twentyten_cat_list' ) ) :
2010-03-30 00:03:15 +02:00
/**
* Returns the list of categories
*
* Returns the list of categories based on if we are or are
* not browsing a category archive page .
*
* @ uses twentyten_term_list
*
* @ return string
*/
2010-02-14 11:02:38 +01:00
function twentyten_cat_list () {
2010-03-16 21:17:22 +01:00
return twentyten_term_list ( 'category' , ', ' , __ ( 'Posted in %s' , 'twentyten' ), __ ( 'Also posted in %s' , 'twentyten' ) );
2010-02-14 11:02:38 +01:00
}
2010-02-14 22:39:20 +01:00
endif ;
if ( ! function_exists ( 'twentyten_tag_list' ) ) :
2010-03-30 00:03:15 +02:00
/**
* Returns the list of tags
*
* Returns the list of tags based on if we are or are not
* browsing a tag archive page
*
* @ uses twentyten_term_list
*
* @ return string
*/
2010-02-14 11:02:38 +01:00
function twentyten_tag_list () {
2010-03-16 21:17:22 +01:00
return twentyten_term_list ( 'post_tag' , ', ' , __ ( 'Tagged %s' , 'twentyten' ), __ ( 'Also tagged %s' , 'twentyten' ) );
2010-02-14 11:02:38 +01:00
}
2010-02-14 22:39:20 +01:00
endif ;
2010-03-30 02:05:17 +02:00
2010-02-14 22:39:20 +01:00
if ( ! function_exists ( 'twentyten_term_list' ) ) :
2010-03-30 00:03:15 +02:00
/**
* Returns the list of taxonomy items in multiple ways
*
* Returns the list of taxonomy items differently based on
* if we are browsing a term archive page or a different
* type of page . If browsing a term archive page and the
* post has no other taxonomied terms , it returns empty
*
* @ return string
*/
2010-03-16 21:17:22 +01:00
function twentyten_term_list ( $taxonomy , $glue = ', ' , $text = '' , $also_text = '' ) {
2010-02-14 11:02:38 +01:00
global $wp_query , $post ;
2010-02-14 12:52:27 +01:00
$current_term = $wp_query -> get_queried_object ();
2010-03-16 21:17:22 +01:00
$terms = wp_get_object_terms ( $post -> ID , $taxonomy );
2010-03-26 20:36:49 +01:00
// If we're viewing a Taxonomy page..
2010-03-16 21:17:22 +01:00
if ( isset ( $current_term -> taxonomy ) && $taxonomy == $current_term -> taxonomy ) {
2010-02-14 11:02:38 +01:00
// Remove the term from display.
2010-03-16 21:17:22 +01:00
foreach ( ( array ) $terms as $key => $term ) {
2010-02-14 11:02:38 +01:00
if ( $term -> term_id == $current_term -> term_id ) {
2010-03-16 21:17:22 +01:00
unset ( $terms [ $key ] );
2010-02-14 11:02:38 +01:00
break ;
}
2010-02-07 17:16:26 +01:00
}
2010-02-14 11:02:38 +01:00
// Change to Also text as we've now removed something from the terms list.
$text = $also_text ;
2010-02-07 17:16:26 +01:00
}
2010-02-14 11:02:38 +01:00
$tlist = array ();
$rel = 'category' == $taxonomy ? 'rel="category"' : 'rel="tag"' ;
2010-03-16 21:17:22 +01:00
foreach ( ( array ) $terms as $term ) {
2010-02-14 11:02:38 +01:00
$tlist [] = '<a href="' . get_term_link ( $term , $taxonomy ) . '" title="' . esc_attr ( sprintf ( __ ( 'View all posts in %s' , 'twentyten' ), $term -> name ) ) . '" ' . $rel . '>' . $term -> name . '</a>' ;
2010-02-07 17:16:26 +01:00
}
2010-03-16 21:17:22 +01:00
if ( ! empty ( $tlist ) )
return sprintf ( $text , join ( $glue , $tlist ) );
2010-02-14 11:02:38 +01:00
return '' ;
}
2010-02-14 22:39:20 +01:00
endif ;
2010-02-07 17:16:26 +01:00
2010-03-30 00:03:15 +02:00
/**
2010-03-30 02:05:17 +02:00
* Register widgetized areas , including two sidebars and four widget - ready columns in the footer .
2010-03-30 00:03:15 +02:00
*
2010-03-30 02:05:17 +02:00
* To override twentyten_widgets_init () in a child theme , remove the action hook and add your own
* function tied to the init hook .
2010-03-30 00:03:15 +02:00
* @ uses register_sidebar
*/
2010-02-14 02:00:22 +01:00
function twentyten_widgets_init () {
2010-02-07 17:16:26 +01:00
// Area 1
2010-02-14 22:39:20 +01:00
register_sidebar ( array (
2010-02-07 17:16:26 +01:00
'name' => 'Primary Widget Area' ,
'id' => 'primary-widget-area' ,
2010-02-14 02:00:22 +01:00
'description' => __ ( 'The primary widget area' , 'twentyten' ),
2010-02-07 17:16:26 +01:00
'before_widget' => '<li id="%1$s" class="widget-container %2$s">' ,
'after_widget' => " </li> " ,
'before_title' => '<h3 class="widget-title">' ,
'after_title' => '</h3>' ,
) );
2010-02-08 19:02:23 +01:00
2010-02-07 17:16:26 +01:00
// Area 2
2010-02-14 22:39:20 +01:00
register_sidebar ( array (
2010-02-07 17:16:26 +01:00
'name' => 'Secondary Widget Area' ,
2010-02-08 19:02:23 +01:00
'id' => 'secondary-widget-area' ,
2010-02-14 02:00:22 +01:00
'description' => __ ( 'The secondary widget area' , 'twentyten' ),
2010-02-07 17:16:26 +01:00
'before_widget' => '<li id="%1$s" class="widget-container %2$s">' ,
'after_widget' => " </li> " ,
'before_title' => '<h3 class="widget-title">' ,
'after_title' => '</h3>' ,
) );
2010-02-08 19:02:23 +01:00
2010-02-07 17:16:26 +01:00
// Area 3
2010-02-14 22:39:20 +01:00
register_sidebar ( array (
2010-02-07 17:16:26 +01:00
'name' => 'First Footer Widget Area' ,
2010-02-08 19:02:23 +01:00
'id' => 'first-footer-widget-area' ,
2010-02-14 02:00:22 +01:00
'description' => __ ( 'The first footer widget area' , 'twentyten' ),
2010-02-07 17:16:26 +01:00
'before_widget' => '<li id="%1$s" class="widget-container %2$s">' ,
'after_widget' => " </li> " ,
'before_title' => '<h3 class="widget-title">' ,
'after_title' => '</h3>' ,
2010-02-08 19:02:23 +01:00
) );
2010-02-07 17:16:26 +01:00
// Area 4
2010-02-14 22:39:20 +01:00
register_sidebar ( array (
2010-02-07 17:16:26 +01:00
'name' => 'Second Footer Widget Area' ,
2010-02-08 19:02:23 +01:00
'id' => 'second-footer-widget-area' ,
2010-02-14 02:00:22 +01:00
'description' => __ ( 'The second footer widget area' , 'twentyten' ),
2010-02-07 17:16:26 +01:00
'before_widget' => '<li id="%1$s" class="widget-container %2$s">' ,
'after_widget' => " </li> " ,
'before_title' => '<h3 class="widget-title">' ,
'after_title' => '</h3>' ,
2010-02-08 19:02:23 +01:00
) );
2010-02-07 17:16:26 +01:00
// Area 5
2010-02-14 22:39:20 +01:00
register_sidebar ( array (
2010-02-07 17:16:26 +01:00
'name' => 'Third Footer Widget Area' ,
2010-02-08 19:02:23 +01:00
'id' => 'third-footer-widget-area' ,
2010-02-14 02:00:22 +01:00
'description' => __ ( 'The third footer widget area' , 'twentyten' ),
2010-02-07 17:16:26 +01:00
'before_widget' => '<li id="%1$s" class="widget-container %2$s">' ,
'after_widget' => " </li> " ,
'before_title' => '<h3 class="widget-title">' ,
'after_title' => '</h3>' ,
2010-02-08 19:02:23 +01:00
) );
2010-02-07 17:16:26 +01:00
// Area 6
2010-02-14 22:39:20 +01:00
register_sidebar ( array (
2010-02-07 17:16:26 +01:00
'name' => 'Fourth Footer Widget Area' ,
2010-02-08 19:02:23 +01:00
'id' => 'fourth-footer-widget-area' ,
2010-02-14 02:00:22 +01:00
'description' => __ ( 'The fourth footer widget area' , 'twentyten' ),
2010-02-07 17:16:26 +01:00
'before_widget' => '<li id="%1$s" class="widget-container %2$s">' ,
'after_widget' => " </li> " ,
'before_title' => '<h3 class="widget-title">' ,
'after_title' => '</h3>' ,
2010-02-08 19:02:23 +01:00
) );
2010-02-14 22:39:20 +01:00
}
2010-04-04 01:33:52 +02:00
add_action ( 'init' , 'twentyten_widgets_init' );
/**
* Removes the default styles that are packaged with the Recent Comments widget .
*/
function twentyten_remove_recent_comments_style () {
global $wp_widget_factory ;
remove_action ( 'wp_head' , array ( $wp_widget_factory -> widgets [ 'WP_Widget_Recent_Comments' ], 'recent_comments_style' ) );
}
add_action ( 'widgets_init' , 'twentyten_remove_recent_comments_style' );