## What's new in Thematic 0.9.7.7

- ### Fixed:

  - Fixed search.php call to undefined function blog_info()
  - Fixed Theme Review Images Test via CSS

## What's new in Thematic 0.9.7.6

- ### Fixed:

  - Fixed "Constant * already defined" notices when defining constants in a child themes
  - Fixed "Undefined variable" $id, $aria_req notices when using default comment_form()
  - Fixed "Undefined constant assumed get_post_type_object" notice in thematic_post_class

## What's new in Thematic 0.9.7.5

- ### Added:

  - Added the constant `THEMATIC_COMPATIBLE_FEEDLINKS` which defaults to `false`. In this case the WordPress functions `add_theme_support( 'automatic-feed-links' )` is used. If you set it to TRUE, Thematic will use its own functionality. This is a requirement by the Theme Review Team.
  - Added New function `thematic_body()` to header.php defined in dynamic-classes.php
  - Added New function `childtheme_override_body()` defined in dynamic-classes.php
  - Added New function `thematic_body_open()` defined in dynamic-classes.php
  - Added Estonian language files. Credits: Peeter Marvet
  - Added Thematic's browser / OS class to WorpPress' `body_class()`. Menu will now display properly with the Test Data.
  - Added the constant `THEMATIC_COMPATIBLE_COMMENT_FORM` which defaults to `false`. In this case the WordPress function `comment_form()` is used. If you set it to TRUE, Thematic will use its own functionality. This is a requirement by the Theme Review Team.
  - Added Thematic's browser / OS class to WorpPress' `body_class()`. Menu will now display properly with the Test Data.
  - Added the constant `THEMATIC_COMPATIBLE_POST_CLASS` which defaults to `false`. In this case the WordPress function `post_class()` is used. If you set it to TRUE, Thematic will use its own function `thematic_post_class()`. This is a requirement by the Theme Review Team.
  - Added the constant `THEMATIC_COMPATIBLE_BODY_CLASS` which defaults to `false`. In this case the WordPress function `body_class()` is used. If you set it to TRUE, Thematic will use its own function `thematic_body_class()`. This is a requirement by the Theme Review Team.
  - Added: Better SSL support by replacing `bloginfo('siteurl')` & `get_bloginfo('siteurl')` with `site_url()`

- ### Changed:

  - Changed the filter `body_class` to `thematic_body_class`.

- ### Fixed:

  - Fixed Finnish language files. Credits: Peeter Marvet
  - Fixed: Trailing slashes in the search forms of search.php and `thematic_404()`
  - Fixed `childtheme_override_access()`.
  - Fixed the closing `>` for the post_class part.
  - Fixed behaviour of `thematic_show_bodyclass`. The body tag will now be created, if a filter returns `false`.
  - Removed `add_theme_support('menu')` according to Andrew Nacin.
  - Comment handling for archives.php, links.php and page.php can be made compatible with old handling controlled by a key/value of "comments".
  - Wrapped some WP 3.0 function calls. Thematic still supports WP 2.9.x.

## What's new in Thematic 0.9.7.4

- ### Added:

  - Added: Filter `thematic_post_thumb_size` in thematic_content()
  - Added: Filter `thematic_post_thumb_attr` in thematic_content()
  - Added: Filter `thematic_post_thumbs` Default TRUE in thematic_content()
  - Added: Post Thumbnails to `thematic_content()` excerpts
  - Added: `add_theme_support( 'post-thumbnails' )` as required by WP Theme Dev Checklist
  - Added: Post and Body classes for custom post types
  - Added: Helper function `thematic_is_custom_post_type()`
  - Added: Czech language files Credits: JanJan Feřtek
  - Added: Filter `thematic_show_bc_taxonomyarchives` Default True
  - Added: Post and Body classes for custom taxonomies
  - Added: Custom taxonomy support for archives in `thematic_page_title()`
  - Added: Helper function `thematic_get_term_name()` for retrieving custom taxonomy name Credit Justin Tadlock
  - Added: CDATA encoding to JavaScript
  - Added: Blog template page-blog.php
  - Added: Page template page-fullwidth.php and relative styles in thematic>library>layouts *.css files for full width content

- ### Fixed:

  - Fixed: Clearing Floats issues in compliance with Theme_Unit_Test WordPress Theme Review Guidelines
  - Fixed: Conditional display of comment-edit anchor tag and meta separator
  - Fixed: Trailing slash in `thematic_search_form()`
  - Fixed: Missing Dutch nl_NL.po
  - Added `add_theme_support( 'automatic-feed-links' )`.
  - Removed the deprecated function call `get_the_author()`.
  - Renamed template files `page-...` to `template-page-...` according to 4.5.4 Custom Template Naming Conventions and adjusted the CSS files.

- ### Updated:

  - Updated: PT lang files Thanks to: Bernardo Maciel
  - Updated: Dutch translation props: Fili

## What's new in Thematic 0.9.7.3

- ### Fixed:

  - Changed `trackback_url()` to `get_trackback_url()`.
  - Displaying WordPress Galleries is fixed.
  - Cleaned up theme-options.php.
  - Cleaned up comments-extensions.php.
  - Removed the custom field check to display the comments template for page.php, archives.php and links.php.
  - Deprecated `is_sidebar_active()` in favor of `is_active_sidebar()`.
  - Cleaned up the deprecated function calls
  - Fixed duplicate key in `thematic_nav_menu_args()`.
  - The deprecated function uses WordPress' functionality for reporting.

## What's new in Thematic 0.9.7.2

- ### Added:

  - Fallback to `wp_page_menu` if theme location has no menu
  - `thematic_init_navmenu` registers the theme location for our menu. Override: `childtheme_override_init_navmenu`
  - `thematic_primary_menu_name` filters the menu name 'Primary Menu'.
  - `thematic_primary_menu_id` filters the menu id 'primary-menu'.
  - The main menu uses the menu id 'primary-menu' and the menu name 'Primary Menu'.

- ### Fixed:

  - Changed `add_theme_support( 'nav-menus' )` to `add_theme_support( 'menus' )`.
  - Fixed a bug that prevents the 'Reset Widgets'.

## What's new in Thematic 0.9.7.1

- ### Fixed:

  - Potential security issue in `theme-options.php`.

## What's new in Thematic 0.9.7

- ### Added:

  - Added new function: `thematic_init_presetwidgets()` to initialize the preset widgets. Override function: `childtheme_override_init_presetwidgets()`
  - Added new function: `thematic_content_init()` to set up new post classes.
  - Added override functionality:
    - `childtheme_override_content_init()` overrides `thematic_content_init`
  - Added new post classes: is-full is-excerpt custom-excerpt auto-excerpt wp-teaser has-more wp-more has-teaser
  - Added new filter `thematic_get_excerpt` to `thematic_content()`
  - Added filter to customize the length of`thematic_search_form()` in `widgets-extensions.php`. Credits: Aaron Jorbin
  - Added override functionality:
    - `childtheme_override_doctitle()` overrides `thematic_doctitle`
    - `childtheme_override_head_scripts()` overrides `thematic_head_scripts`
    - `childtheme_override_brandingopen()` overrides `thematic_brandingopen`
    - `childtheme_override_blogtitle()` overrides `thematic_blogtitle`
    - `childtheme_override_blogdescription()` overrides `thematic_blogdescription`
    - `childtheme_override_brandingclose()` overrides `thematic_brandingclose`
    - `childtheme_override_access()` overrides `thematic_access`
    - `childtheme_override_subsidiaries()` overrides `thematic_subsidiaries`
    - `childtheme_override_siteinfoopen()` overrides `thematic_siteinfoopen()`
    - `childtheme_override_siteinfo()` overrides `thematic_siteinfo()`
    - `childtheme_override_siteinfoclose()` overrides `thematic_siteinfoclose()`
  - New action hooks `thematic_abovecomment` and `thematic_belowcomment` Credits: heaven.
  - Added override functionality:
    - `childtheme_override_commentmeta` overrides `thematic_commentmeta()`
  - Added new filter `thematic_commentmeta()` to `discussion.php`. Credits: heaven
  - Added override functionality:
    - `childtheme_override_body_class()` overrides `thematic_body_class()`
    - `childtheme_override_post_class()` overrides `thematic_post_class()`
    - `childtheme_override_comment_class()` overrides `thematic_archive_loop()`
    - `childtheme_override_author_loop()` overrides `thematic_comment_class()`
    - `childtheme_override_date_classes()` overrides `thematic_date_classes()`
  - Added Finnish language files. Credits: Mikito Takada
  - Added new filter `thematic_open_wrapper` to the `header.php`. This filter defaults to `true`.
  - Added new filter `thematic_close_wrapper` to the `footer.php`. This filter defaults to `true`.
  - Added override functionality:
    - `childtheme_override_page_title()` overrides `thematic_page_title()`
    - `childtheme_override_nav_above()` overrides `thematic_nav_above()`
    - `childtheme_override_archive_loop()` overrides `thematic_archive_loop()`
    - `childtheme_override_author_loop()` overrides `thematic_author_loop()`
    - `childtheme_override_category_loop()` overrides `thematic_category_loop()`
    - `childtheme_override_index_loop()` overrides `thematic_index_loop()`
    - `childtheme_override_single_post()` overrides `thematic_single_post()`
    - `childtheme_override_search_loop()` overrides `thematic_search_loop()`
    - `childtheme_override_tag_loop()` overrides `thematic_tag_loop()`
    - `childtheme_override_postheader()` overrides `thematic_postheader()`
    - `childtheme_override_postheader_posteditlink()` overrides `thematic_postheader_posteditlink()`
    - `childtheme_override_postheader_posttitle()` overrides `thematic_postheader_posttitle()`
    - `childtheme_override_postheader_postmeta()` overrides `thematic_postheader_postmeta()`
    - `childtheme_override_postmeta_authorlink()` overrides `thematic_postmeta_authorlink()`
    - `childtheme_override_postmeta_entrydate()` overrides `thematic_postmeta_entrydate()`
    - `childtheme_override_postmeta_editlink()` overrides `thematic_postmeta_editlink()`
    - `childtheme_override_content()` overrides `thematic_content()`
    - `childtheme_override_archivesopen()` overrides `thematic_archivesopen()`
    - `childtheme_override_category_archives()` overrides `thematic_category_archives()`
    - `childtheme_override_monthly_archives()` overrides `thematic_monthly_archives()`
    - `childtheme_override_archivesclose()` overrides `thematic_archivesclose()`
    - `childtheme_override_404_content()` overrides `thematic_404_content()`
    - `childtheme_override_postfooter()` overrides `thematic_postfooter()`
    - `childtheme_override_postfooter_posteditlink()` overrides `thematic_postfooter_posteditlink()`
    - `childtheme_override_postfooter_postcategory()` overrides `thematic_postfooter_postcategory()`
    - `childtheme_override_postfooter_posttags()` overrides `thematic_postfooter_posttags()`
    - `childtheme_override_postfooter_postcomments()` overrides `thematic_postfooter_postcomments()`
    - `childtheme_override_postfooter_postconnect()` overrides `thematic_postfooter_postconnect()`
    - `childtheme_override_nav_below()` overrides `thematic_nav_below()`
    - `childtheme_override_previous_post_link()` overrides `thematic_previous_post_link()`
    - `childtheme_override_next_post_link()` overrides `thematic_next_post_link()`
    - `childtheme_override_author_info_avatar()` overrides `thematic_author_info_avatar()`
    - `childtheme_override_cats_meow()` overrides `thematic_cats_meow()`
    - `childtheme_override_tag_ur_it()` overrides `thematic_tag_ur_it()`
  - Support for `wp_nav_menu()`.
  - New filter `thematic_menu_type` to switch between `wp_page_menu()` and `wp_nav_menu()`. Defaults to `wp_page_menu()`.
  - New filter `thematic_nav_menu_args` to filter the arguments for `wp_nav_menu()`.
  - New filter `thematic_page_menu_args` to filter the arguments for `wp_page_menu()`.
  - New filter `thematic_use_superfish` to prevent the use of Superfish for the menu.
  - New filter `thematic_show_bc_blogid` to prevent the BODY class `blogid-n`.
  - New BODY class `blogid-n`.
  - New action hooks `thematic_abovepost` and `thematic_belowpost`.
  - New action hooks `thematic_abovecontent` and `thematic_belowcontent`.
  - Theme options support WordPress mu and WordPress 3.0 Multi-User option.

- ### Fixed:

  - The UL Class `sf-menu` will be created only for the `wp_page_menu()` in the header.
  - Changed `#trackbacks-list .comment-content` to `left:-10000px;` in `default.css`. Fixes a glitch with the 'Many Tackbacks' post (WordPress Test Data).
  - Changed `$version` to `$thm_version` to prevent a collision with WP E-Commerce.
  - Widget areas can now be moved based on a conditional tag.
  - Removed `thematic_before_widget()` and `thematic_after_widget()` from Search Widget
  - Upgraded the Thematic widgets to the new API. Thematic now requires WordPress 2.8.x or above.

- ### Updated:

  - Norwegian language files updated. Credits: peter.holme.
  - Norwegian language files updated. Credits: Thomas Misund.

## What's new in Thematic 0.9.6.2

- ### Fixed:

  - Fixed a bug in widgets-extensions.php not loading the preset widgets after switching themes.
  - Fixed a bug in page.php not loading `thematic_comments_template()`
  - Fixed missing gettext in comments-extensions.php
  - Fixed French, German, Italian, Romanian, and Spanish language files

## What's new in Thematic 0.9.6.1

- Added two new hooks:

  - `thematic_abovecontainer()`
  - `thematic_belowcontainer()`

- Thematic prevents the creation of the WordPress Generator. This can be filtered using a filter for `thematic_hide_generators`. Return `TRUE` and the WordPress Generator will be created.

- Added some filters to `comments.php`:

  - The standard text 'One Comment' can be filtered using `thematic_singlecomment_text`.
  - The standard text 'n Comments' can be filtered using `thematic_multiplecomments_text`.
  - The standard text 'Post a Comment' can be filtered using `thematic_postcomment_text`.
  - The standard text 'Post a Reply to %s' can be filtered using `thematic_postreply_text`.
  - The standard text 'Comment' for the text box can be filtered using `thematic_commentbox_text`.
  - The standard text 'Post Comment' for the send button can be filtered using `thematic_commentbutton_text`.

- Split up `thematic_postheader()` and `thematic_postfooter()` into sub-functions. With these new functions it is easier to rearrange the displayed data.

  - `thematic_postheader()`
  - `thematic_postheader_posttitle()`
  - `thematic_postheader_postmeta()`
  - `thematic_postmeta_authorlink()`
  - `thematic_postmeta_entrydate()`
  - `thematic_postmeta_editlink()`
  - `thematic_postfooter()`
  - `thematic_postfooter_posteditlink()`
  - `thematic_postfooter_postcategory()`
  - `thematic_postfooter_posttags()`
  - `thematic_postfooter_postconnect()`
  - `thematic_postfooter_postcomments()`

- The several parts of the body class can be switched off using the following filters:

  - `thematic_show_bodyclass` (master switch)
  - `thematic_show_bc_wordpress`
  - `thematic_show_bc_datetime`
  - `thematic_show_bc_contenttype`
  - `thematic_show_bc_singular`
  - `thematic_show_bc_singlepost`
  - `thematic_show_bc_authorarchives`
  - `thematic_show_bc_categoryarchives`
  - `thematic_show_bc_tagarchives`
  - `thematic_show_bc_pages`
  - `thematic_show_bc_search`
  - `thematic_show_bc_loggedin`
  - `thematic_show_bc_browser`

- `<head profile="http://gmpg.org/xfn/11">` can be filtered using `thematic_head_profile`.

- Complete rewrite of the widget areas:

  The widget areas are now controlled by the `$thematic_widgetized_areas` array. This is the basic layout:

      $thematic_widgetized_areas = array(

                     'Primary Aside' => array(

                                     'admin_menu_order' => 100,

                                     'args' => array (

                                                     'name' => 'Primary Aside',

                                                     'id' => 'primary-aside',

                                                     'description' => __('The primary widget area, most often used as a sidebar.', 'thematic'),

                                                     'before_widget' => thematic_before_widget(),

                                                     'after_widget' => thematic_after_widget(),

                                                     'before_title' => thematic_before_title(),

                                                     'after_title' => thematic_after_title(),

                                                     ),

                                     'action_hook'    => 'widget_area_primary_aside',

                                     'function'                            => 'thematic_primary_aside',

                                     'priority'                              => 10,

                                     ),

                     )

  Using this array you can remove unnecessary widget areas with a filter before these are created:

      function remove_widget_area($content) {

               unset($content['Primary Aside']);

               return $content;

      }

      add_filter('thematic_widgetized_areas', 'remove_widget_area');

  Note: This will completely remove a widget area. Do not use this functionality with conditional tags to remove a widget area from a certain page / post.

  A widget area can be renamed:

      function rename_widget_area($content) {

               $content['Primary Aside']['args']['name'] = 'My first Sidebar';

               return $content;

      }

      add_filter('thematic_widgetized_areas', 'rename_widget_area');

  Display a widget area based on a conditional tag:

      // First we create a new function to display the secondary aside only on pages:

      function childtheme_secondary_aside() {

               if (is_page()) {

                       if (is_sidebar_active('secondary-aside')) {

                                echo thematic_before_widget_area('secondary-aside');

                                dynamic_sidebar('secondary-aside');

                                echo thematic_after_widget_area('secondary-aside');

                       }

               }

      }

      // ... and then ... without removing an action or so:

      function change_secondary_aside($content) {

               $content['Secondary Aside']['function'] = 'childtheme_secondary_aside';

               return $content;

      }

      add_filter('thematic_widgetized_areas','change_secondary_aside');

  Create several widget areas that will be displayed on a certain position based on conditional tags:

      function change_secondary_aside($content) {

               $content['Secondary Aside']['function'] = 'childtheme_secondary_aside';

               $content['Secondary Aside Pages'] = array(

                       'admin_menu_order' => 201,

                       'args' => array (

                                'name' => 'Secondary Aside Pages',

                                'id' => 'secondary-aside-pages',

                                'description' => __('The secondary widget area for pages.', 'childtheme'),

                                'before_widget' => thematic_before_widget(),

                                'after_widget' => thematic_after_widget(),

                                'before_title' => thematic_before_title(),

                                'after_title' => thematic_after_title(),

                       ),

                       'action_hook'    => 'thematic_secondary_aside',

                       'function'                => 'childtheme_secondary_aside',

                       'priority'                => 10,

               );

               return $content;

      }

      add_filter('thematic_widgetized_areas','change_secondary_aside');

      function childtheme_secondary_aside() {

               if (is_sidebar_active('secondary-aside') && is_sidebar_active('secondary-aside-pages')) {

                       echo thematic_before_widget_area('secondary-aside');

                       if (is_page()) {

                                dynamic_sidebar('secondary-aside-pages');

                       } else {

                                dynamic_sidebar('secondary-aside');

                       }

                       echo thematic_after_widget_area('secondary-aside');

               }

      }

- ### Fixed:

  - Fixed a bug in `thematic_page_title()` not displaying a correct title in attachement.php
  - Fixed the widget area 'Index Insert'.
  - Fixed a bug in `thematic_create_robots()`.