The Big Red Framework is intended for web developers creating bespoke themes for their clients. It contains a ton of options for the developer to configure, without a messy options screen cluttering up the WordPress admin. This theme is intended for use with child themes. The theme is filter and action heavy to allow use of the standard WordPress function names while custom data is output/returned. ========= ACCESSING FUNCTIONS ========= To make overriding functions in the child themes slightly easier, functions in this theme are placed in classes which can be accessed through the object "$soup". A majority of the functions in the $soup objects are called as filters or actions. As such they have no global counterpart. In part this is to lower the risk of function name clashes. Functions with a global counterpart are defined towards the bottom of the parent's functions.php file in the name-space "bigRed_*". The functions with a global counterpart are all pluggable to be easily overridden in the child theme's functions.php file. ========= THE FUTURE ========= One of the aims of the Big Red Framework is consistent html into the future. The aim is to keep bespoke client themes consistent, even as WordPress adds new features to the core. Whenever possible, new features affecting the html will be disabled by default in upgrades to the Big Red Framework. For example, had this framework been released prior to WordPress 3.1 the admin bar would be disabled by default. NEW FEATURES ARE A GOOD THING! The intention is to avoid breaking client sites, not to cripple WordPress. As a result, while a new feature will be turned off in the parent theme's functions.php file, it may be enabled in the _starter/functions.php file. ========= NON-STANDARD THEME FUNCTIONS AND FILES ========= The framework contains several non-standard features and files. These include functionality to enable consistent form output from a number of plugins. The form plugins filtered in this manner are for Grunion Contact Form and Formidable/Formidable Pro (I don't own Gravity forms so have been unable to filter this for consistency). I frequently use the plugin Theme My Login for bespoke client sites. Template files for theme my login are included in addition to the standard WordPress template files. Theme My Login's files are: * login-form.php * register-form.php * resetpass-form.php * lostpassword-form.php * profile-form.php * user-panel.php ========= CREATING A CHILD THEME ========= 1. Copy the files from the starter directory, "assets/_starter", into the base folder of your child theme. 2. Create the sub-directory "assets" in your child theme. 3. Copy the framework’s "assets/child/" directory into the assets directory of your child theme. 4. Update the theme information in your child theme's "style.css" file. You can override files in the framework by copying the file into your child theme and editing it there. It is recommended you start by copying "header.php" and "footer.php" into your child theme to allow you to customise the logo/footer credits as required. ========= SETTING YOUR THEME’S OPTIONS ========= All of your theme’s options are set within the child theme’s functions.php file. At the start of the project, you should ask your client what they want from their website and set the options appropriately. Options are set in the class’s "defineOptions()" function in the form "$options[‘option_name’]". == META TAGS == These add and remove the meta tags WordPress adds to the "
" of your html, including feed links, parent pages, adjacent pages, etc. All of these are true by default except for the localised style sheet (rtl languages). • feed_links (true) – the site’s rss feed (example.com/feed/) & rss comments feed (example.com/comments/feed/). • feed_links_extra (true) – adds category rss feed (example.com/category/general/feed/), tags rss feed (example.com/tag/my-tag/feed/), per article comments feed (example.com/my-article/feed/) • rsd_link (true) – used by offline editors • wlwmanifest_link (true) – used by Window’s Live Writer for offline editing • index_rel_link – link to site’s home page (example.com) • parent_post_rel_link – link to parent page (example.com/page/sub-page will link to example.com/page) • start_post_rel_link – all posts link to the first ever post • adjacent_posts_rel_link_wp_head – link with in posts & pages to the next & previous posts/pages • locale_stylesheet – stylesheet for right to left languages • wp_generator – displays the version of WordPress used by the blog. Here’s not the place for the security through obscurity argument, I just point you to Dion’s version detection tool -- http://bit.ly/wpVersion . • wp_shortlink_wp_head – removes the shortlink reference (example.com/?p=432) == GENERAL OPTIONS == These add or remove WordPress features commonly disabled on client sites. All the features default to the WordPress standard: • admin_bar – the much loved & much despised admin bar • custom_admin_bar_css – allows you to customise the CSS for the admin bar to suit your client’s theme • remove_capital_P_dangit – remove the filter to replace occurrences of "Wordpress" with the correct form "WordPress". At Soupgiant we usually remove the filter as we’ve found it interferes with images named WordPress.jpg (capital W) or similar.
== THEME OPTIONS ==
A few generic options for use with your theme. Includes custom theme meta tags, enabling built in WordPress features such as post formats and thumbnails:
• content_width – width of content throughout the site
• thumbnails – enable/disable post thumbnails
• attachment_page_img_width – maximum width of images to displayed on the attachments pages
• attachment_page_img_height - maximum height of images to displayed on the attachments pages
• post-formats – enable post formats
o false: disabled
o true: all formats enabled
o array of post types – enable types in the array
• favicon – add a favicon meta tag, the favicon should be placed named /assets/child/i/favicon.ico
• favicon-apple – add an idevice icon meta tag, file should be named /assets/child/i/apple-touch-icon.png
• X-UA-Compatible – IE version meta tag to be added, defaults to IE=edge
• mobile-css-query – css media query used for loading the mobile stylesheet.
• page-comments-enabled – enables/disables comments on pages
• trackbacks-enabled – enables/disables trackbacks and pingbacks throughout the site
== WIDGETS & NAVIGATION AREAS ==
The framework includes 4 widget areas and 2 navigation areas. You can enable them by setting the options below to true, disable them by setting the option to false.
If you wish to customise the human readable name from the default, you can enable the areas by setting them as a string & your string will be used as the readable name.
• widget-header – default readable name: Header
• widget-footer – default readable name: Footer
• widget-sidebar-a – default readable name: Sidebar A
• widget-sidebar-b – default readable name: Sidebar B
• header-menu – default readable name: Header
• footer-menu – default readable name: Footer
== JAVASCRIPT OPTIONS ==
Add conditional JavaScript files for various versions of IE. At the time of development, WordPress doesn’t support conditional tags for IE so these are added to "wp_head()" as