Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 339 lines (263 sloc) 14.523 kb
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
1 <?php
2 /**
9337d50 Documentation updates.
greenshady authored
3 * Hybrid Core - A WordPress theme development framework.
4 *
3594f29 Documentation updates galore.
greenshady authored
5 * Hybrid Core is a framework for developing WordPress themes. The framework allows theme developers
6 * to quickly build themes without having to handle all of the "logic" behind the theme or having to code
7 * complex functionality for features that are often needed in themes. The framework does these things
8 * for developers to allow them to get back to what matters the most: developing and designing themes.
9 * The framework was built to make it easy for developers to include (or not include) specific, pre-coded
10 * features. Themes handle all the markup, style, and scripts while the framework handles the logic.
a84cd56 Update the license info specifically for the framework.
greenshady authored
11 *
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
12 * Hybrid Core is a modular system, which means that developers can pick and choose the features they
13 * want to include within their themes. Most files are only loaded if the theme registers support for the
14 * feature using the add_theme_support( $feature ) function within their theme.
15 *
3594f29 Documentation updates galore.
greenshady authored
16 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
17 * General Public License version 2, as published by the Free Software Foundation. You may NOT assume
18 * that you can use any other version of the GPL.
a84cd56 Update the license info specifically for the framework.
greenshady authored
19 *
3594f29 Documentation updates galore.
greenshady authored
20 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
21 * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
a84cd56 Update the license info specifically for the framework.
greenshady authored
22 *
3594f29 Documentation updates galore.
greenshady authored
23 * You should have received a copy of the GNU General Public License along with this program; if not, write
24 * to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
a84cd56 Update the license info specifically for the framework.
greenshady authored
25 *
26 * @package HybridCore
1d5198a Added the theme_support() method to the Hybrid class. This allows the fr...
greenshady authored
27 * @version 1.3.0
9337d50 Documentation updates.
greenshady authored
28 * @author Justin Tadlock <justin@justintadlock.com>
8968adf Bumping version and copyright info.
greenshady authored
29 * @copyright Copyright (c) 2008 - 2011, Justin Tadlock
8d8f1a3 Update the URL to the Hybrid Core page.
greenshady authored
30 * @link http://themehybrid.com/hybrid-core
9337d50 Documentation updates.
greenshady authored
31 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
a84cd56 Update the license info specifically for the framework.
greenshady authored
32 */
33
34 /**
1823e75 Better inline documentation for the Hybrid class.
greenshady authored
35 * The Hybrid class launches the framework. It's the organizational structure behind the entire framework.
36 * This class should be loaded and initialized before anything else within the theme is called to properly use
37 * the framework.
38 *
39 * After parent themes call the Hybrid class, they should perform a theme setup function on the
40 * 'after_setup_theme' hook with a priority of 10. Child themes should add their theme setup function on
41 * the 'after_setup_theme' hook with a priority of 11. This allows the class to load theme-supported features
42 * at the appropriate time, which is on the 'after_setup_theme' hook with a priority of 12.
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
43 *
3594f29 Documentation updates galore.
greenshady authored
44 * @since 0.7.0
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
45 */
46 class Hybrid {
47
48 /**
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
49 * Constructor method for the Hybrid class. This method adds other methods of the class to
50 * specific hooks within WordPress. It controls the load order of the required files for running
51 * the framework.
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
52 *
c3cf33f Mark all 0.9.1 changes as 1.0.0 since that'll be the release version.
greenshady authored
53 * @since 1.0.0
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
54 */
7a9980c Appropriate PHP4 and PHP5 constructor methods.
greenshady authored
55 function __construct() {
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
56
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
57 /* Define framework, parent theme, and child theme constants. */
58 add_action( 'after_setup_theme', array( &$this, 'constants' ), 1 );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
59
9337d50 Documentation updates.
greenshady authored
60 /* Load the core functions required by the rest of the framework. */
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
61 add_action( 'after_setup_theme', array( &$this, 'core' ), 2 );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
62
b2d4785 Move a few actions/filters out of the core Hybrid class into appropriate...
greenshady authored
63 /* Initialize the framework's default actions and filters. */
28a7169 The locale() method should be loaded after the default_filters() method.
greenshady authored
64 add_action( 'after_setup_theme', array( &$this, 'default_filters' ), 3 );
65
66 /* Language functions and translations setup. */
c701ae9 Change the locale() method name to i18n() and update the inline docs.
greenshady authored
67 add_action( 'after_setup_theme', array( &$this, 'i18n' ), 4 );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
68
1d5198a Added the theme_support() method to the Hybrid class. This allows the fr...
greenshady authored
69 /* Handle theme supported features. */
70 add_action( 'after_setup_theme', array( &$this, 'theme_support' ), 12 );
71
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
72 /* Load the framework functions. */
1d5198a Added the theme_support() method to the Hybrid class. This allows the fr...
greenshady authored
73 add_action( 'after_setup_theme', array( &$this, 'functions' ), 13 );
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
74
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
75 /* Load the framework extensions. */
1d5198a Added the theme_support() method to the Hybrid class. This allows the fr...
greenshady authored
76 add_action( 'after_setup_theme', array( &$this, 'extensions' ), 14 );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
77
02c9e07 Cleaning up the admin functionality for a better development experience.
greenshady authored
78 /* Load admin files. */
79 add_action( 'wp_loaded', array( &$this, 'admin' ) );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
80 }
81
82 /**
c701ae9 Change the locale() method name to i18n() and update the inline docs.
greenshady authored
83 * Defines the constant paths for use within the core framework, parent theme, and child theme.
84 * Constants prefixed with 'HYBRID_' are for use only within the core framework and don't
85 * reference other areas of the parent or child theme.
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
86 *
3594f29 Documentation updates galore.
greenshady authored
87 * @since 0.7.0
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
88 */
89 function constants() {
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
90
6d61b5d Change 'HYBRID_CORE_VERSION' to 'HYBRID_VERSION' to match the naming sch...
greenshady authored
91 /* Sets the framework version number. */
b1d9b73 Version number and inline doc cleanup.
greenshady authored
92 define( 'HYBRID_VERSION', '1.3.0' );
18e15fc Add the 'HYBRID_CORE_VERSION' constant.
greenshady authored
93
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
94 /* Sets the path to the parent theme directory. */
95 define( 'THEME_DIR', get_template_directory() );
96
97 /* Sets the path to the parent theme directory URI. */
98 define( 'THEME_URI', get_template_directory_uri() );
99
100 /* Sets the path to the child theme directory. */
101 define( 'CHILD_THEME_DIR', get_stylesheet_directory() );
102
103 /* Sets the path to the child theme directory URI. */
104 define( 'CHILD_THEME_URI', get_stylesheet_directory_uri() );
105
106 /* Sets the path to the core framework directory. */
40f0819 Moving the Hybrid class to the root directory of the framework. This wa...
greenshady authored
107 define( 'HYBRID_DIR', trailingslashit( THEME_DIR ) . basename( dirname( __FILE__ ) ) );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
108
109 /* Sets the path to the core framework directory URI. */
40f0819 Moving the Hybrid class to the root directory of the framework. This wa...
greenshady authored
110 define( 'HYBRID_URI', trailingslashit( THEME_URI ) . basename( dirname( __FILE__ ) ) );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
111
112 /* Sets the path to the core framework admin directory. */
40f0819 Moving the Hybrid class to the root directory of the framework. This wa...
greenshady authored
113 define( 'HYBRID_ADMIN', trailingslashit( HYBRID_DIR ) . 'admin' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
114
115 /* Sets the path to the core framework classes directory. */
40f0819 Moving the Hybrid class to the root directory of the framework. This wa...
greenshady authored
116 define( 'HYBRID_CLASSES', trailingslashit( HYBRID_DIR ) . 'classes' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
117
118 /* Sets the path to the core framework extensions directory. */
40f0819 Moving the Hybrid class to the root directory of the framework. This wa...
greenshady authored
119 define( 'HYBRID_EXTENSIONS', trailingslashit( HYBRID_DIR ) . 'extensions' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
120
121 /* Sets the path to the core framework functions directory. */
40f0819 Moving the Hybrid class to the root directory of the framework. This wa...
greenshady authored
122 define( 'HYBRID_FUNCTIONS', trailingslashit( HYBRID_DIR ) . 'functions' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
123
abfcf47 Complete overhaul of how translations and internationalization is handle...
greenshady authored
124 /* Sets the path to the core framework languages directory. */
125 define( 'HYBRID_LANGUAGES', trailingslashit( HYBRID_DIR ) . 'languages' );
126
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
127 /* Sets the path to the core framework images directory URI. */
40f0819 Moving the Hybrid class to the root directory of the framework. This wa...
greenshady authored
128 define( 'HYBRID_IMAGES', trailingslashit( HYBRID_URI ) . 'images' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
129
130 /* Sets the path to the core framework CSS directory URI. */
40f0819 Moving the Hybrid class to the root directory of the framework. This wa...
greenshady authored
131 define( 'HYBRID_CSS', trailingslashit( HYBRID_URI ) . 'css' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
132
133 /* Sets the path to the core framework JavaScript directory URI. */
40f0819 Moving the Hybrid class to the root directory of the framework. This wa...
greenshady authored
134 define( 'HYBRID_JS', trailingslashit( HYBRID_URI ) . 'js' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
135 }
136
137 /**
1823e75 Better inline documentation for the Hybrid class.
greenshady authored
138 * Loads the core framework functions. These files are needed before loading anything else in the
139 * framework because they have required functions for use.
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
140 *
c3cf33f Mark all 0.9.1 changes as 1.0.0 since that'll be the release version.
greenshady authored
141 * @since 1.0.0
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
142 */
143 function core() {
1823e75 Better inline documentation for the Hybrid class.
greenshady authored
144
145 /* Load the core framework functions. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
146 require_once( trailingslashit( HYBRID_FUNCTIONS ) . 'core.php' );
1823e75 Better inline documentation for the Hybrid class.
greenshady authored
147
148 /* Load the context-based functions. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
149 require_once( trailingslashit( HYBRID_FUNCTIONS ) . 'context.php' );
abfcf47 Complete overhaul of how translations and internationalization is handle...
greenshady authored
150
151 /* Load the core framework internationalization functions. */
152 require_once( trailingslashit( HYBRID_FUNCTIONS ) . 'i18n.php' );
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
153 }
154
155 /**
c701ae9 Change the locale() method name to i18n() and update the inline docs.
greenshady authored
156 * Loads both the parent and child theme translation files. If a locale-based functions file exists
157 * in either the parent or child theme (child overrides parent), it will also be loaded. All translation
158 * and locale functions files are expected to be within the theme's '/languages' folder, but the
159 * framework will fall back on the theme root folder if necessary. Translation files are expected
160 * to be prefixed with the template or stylesheet path (example: 'templatename-en_US.mo').
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
161 *
c701ae9 Change the locale() method name to i18n() and update the inline docs.
greenshady authored
162 * @since 1.2.0
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
163 */
c701ae9 Change the locale() method name to i18n() and update the inline docs.
greenshady authored
164 function i18n() {
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
165
abfcf47 Complete overhaul of how translations and internationalization is handle...
greenshady authored
166 /* Load the framework textdomain. */
167 hybrid_load_framework_textdomain( 'hybrid-core' );
168
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
169 /* Load theme textdomain. */
7432e92 Bucket loads of changes. Just playin' around.
greenshady authored
170 load_theme_textdomain( hybrid_get_parent_textdomain() );
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
171
9398f0a Addition of child theme textdomain functionality. First pass.
greenshady authored
172 /* Load child theme textdomain. */
173 if ( is_child_theme() )
ba0de46 Change hybrid_get_child_theme_textdomain() to hybrid_get_child_textdomai...
greenshady authored
174 load_child_theme_textdomain( hybrid_get_child_textdomain() );
9398f0a Addition of child theme textdomain functionality. First pass.
greenshady authored
175
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
176 /* Get the user's locale. */
177 $locale = get_locale();
178
179 /* Locate a locale-specific functions file. */
180 $locale_functions = locate_template( array( "languages/{$locale}.php", "{$locale}.php" ) );
181
182 /* If the locale file exists and is readable, load it. */
183 if ( !empty( $locale_functions ) && is_readable( $locale_functions ) )
184 require_once( $locale_functions );
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
185 }
186
187 /**
1d5198a Added the theme_support() method to the Hybrid class. This allows the fr...
greenshady authored
188 * Removes theme supported features from themes in the case that a user has a plugin installed
189 * that handles the functionality.
190 *
191 * @since 1.3.0
192 */
193 function theme_support() {
194
195 /* Remove support for the core SEO component if the WP SEO plugin is installed. */
196 if ( defined( 'WPSEO_VERSION' ) )
197 remove_theme_support( 'hybrid-core-seo' );
198
199 /* Remove support for the the Breadcrumb Trail extension if the plugin is installed. */
200 if ( function_exists( 'breadcrumb_trail' ) )
201 remove_theme_support( 'breadcrumb-trail' );
202
203 /* Remove support for the the Cleaner Gallery extension if the plugin is installed. */
204 if ( function_exists( 'cleaner_gallery' ) )
205 remove_theme_support( 'cleaner-gallery' );
206
207 /* Remove support for the the Get the Image extension if the plugin is installed. */
208 if ( function_exists( 'get_the_image' ) )
209 remove_theme_support( 'get-the-image' );
210 }
211
212 /**
1823e75 Better inline documentation for the Hybrid class.
greenshady authored
213 * Loads the framework functions. Many of these functions are needed to properly run the
214 * framework. Some components are only loaded if the theme supports them.
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
215 *
3594f29 Documentation updates galore.
greenshady authored
216 * @since 0.7.0
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
217 */
218 function functions() {
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
219
220 /* Load the comments functions. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
221 require_once( trailingslashit( HYBRID_FUNCTIONS ) . 'comments.php' );
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
222
223 /* Load media-related functions. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
224 require_once( trailingslashit( HYBRID_FUNCTIONS ) . 'media.php' );
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
225
6469db8 Rename the template.php file to utility.php since most of the template s...
greenshady authored
226 /* Load the utility functions. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
227 require_once( trailingslashit( HYBRID_FUNCTIONS ) . 'utility.php' );
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
228
446768f Move the settings functions into a separate settings.php file that's onl...
greenshady authored
229 /* Load the theme settings functions if supported. */
230 require_if_theme_supports( 'hybrid-core-theme-settings', trailingslashit( HYBRID_FUNCTIONS ) . 'settings.php' );
231
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
232 /* Load the menus functions if supported. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
233 require_if_theme_supports( 'hybrid-core-menus', trailingslashit( HYBRID_FUNCTIONS ) . 'menus.php' );
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
234
577f9ac Check if Yoast's WordPress SEO plugin is enabled before using the 'hybri...
greenshady authored
235 /* Load the core SEO component if supported and WPSEO_VERSION isn't defined. */
1d5198a Added the theme_support() method to the Hybrid class. This allows the fr...
greenshady authored
236 require_if_theme_supports( 'hybrid-core-seo', trailingslashit( HYBRID_FUNCTIONS ) . 'core-seo.php' );
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
237
238 /* Load the shortcodes if supported. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
239 require_if_theme_supports( 'hybrid-core-shortcodes', trailingslashit( HYBRID_FUNCTIONS ) . 'shortcodes.php' );
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
240
942ca07 More moving and shuffling of files and functions to clean this thing up.
greenshady authored
241 /* Load the sidebars if supported. */
242 require_if_theme_supports( 'hybrid-core-sidebars', trailingslashit( HYBRID_FUNCTIONS ) . 'sidebars.php' );
243
244 /* Load the widgets if supported. */
245 require_if_theme_supports( 'hybrid-core-widgets', trailingslashit( HYBRID_FUNCTIONS ) . 'widgets.php' );
246
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
247 /* Load the template hierarchy if supported. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
248 require_if_theme_supports( 'hybrid-core-template-hierarchy', trailingslashit( HYBRID_FUNCTIONS ) . 'template-hierarchy.php' );
62f7c4e Better separation of core files and functions and a more logical load st...
greenshady authored
249
250 /* Load the deprecated functions if supported. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
251 require_if_theme_supports( 'hybrid-core-deprecated', trailingslashit( HYBRID_FUNCTIONS ) . 'deprecated.php' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
252 }
253
254 /**
1823e75 Better inline documentation for the Hybrid class.
greenshady authored
255 * Load extensions (external projects). Extensions are projects that are included within the
256 * framework but are not a part of it. They are external projects developed outside of the
257 * framework. Themes must use add_theme_support( $extension ) to use a specific extension
258 * within the theme. This should be declared on 'after_setup_theme' no later than a priority of 11.
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
259 *
3594f29 Documentation updates galore.
greenshady authored
260 * @since 0.7.0
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
261 */
262 function extensions() {
263
c501bba Don't load the breadcrumb-trail and get-the-image extensions if the plug...
greenshady authored
264 /* Load the Breadcrumb Trail extension if supported and the plugin isn't active. */
1d5198a Added the theme_support() method to the Hybrid class. This allows the fr...
greenshady authored
265 require_if_theme_supports( 'breadcrumb-trail', trailingslashit( HYBRID_EXTENSIONS ) . 'breadcrumb-trail.php' );
9558ada Add the Cleaner Caption extension.
greenshady authored
266
3b49a36 First pass on adding the Cleaner Gallery extension.
greenshady authored
267 /* Load the Cleaner Gallery extension if supported and the plugin isn't active. */
1d5198a Added the theme_support() method to the Hybrid class. This allows the fr...
greenshady authored
268 require_if_theme_supports( 'cleaner-gallery', trailingslashit( HYBRID_EXTENSIONS ) . 'cleaner-gallery.php' );
3b49a36 First pass on adding the Cleaner Gallery extension.
greenshady authored
269
c501bba Don't load the breadcrumb-trail and get-the-image extensions if the plug...
greenshady authored
270 /* Load the Get the Image extension if supported and the plugin isn't active. */
1d5198a Added the theme_support() method to the Hybrid class. This allows the fr...
greenshady authored
271 require_if_theme_supports( 'get-the-image', trailingslashit( HYBRID_EXTENSIONS ) . 'get-the-image.php' );
c501bba Don't load the breadcrumb-trail and get-the-image extensions if the plug...
greenshady authored
272
273 /* Load the Cleaner Caption extension if supported. */
274 require_if_theme_supports( 'cleaner-caption', trailingslashit( HYBRID_EXTENSIONS ) . 'cleaner-caption.php' );
275
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
276 /* Load the Custom Field Series extension if supported. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
277 require_if_theme_supports( 'custom-field-series', trailingslashit( HYBRID_EXTENSIONS ) . 'custom-field-series.php' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
278
942ca07 More moving and shuffling of files and functions to clean this thing up.
greenshady authored
279 /* Load the Loop Pagination extension if supported. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
280 require_if_theme_supports( 'loop-pagination', trailingslashit( HYBRID_EXTENSIONS ) . 'loop-pagination.php' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
281
282 /* Load the Entry Views extension if supported. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
283 require_if_theme_supports( 'entry-views', trailingslashit( HYBRID_EXTENSIONS ) . 'entry-views.php' );
680a354 Official introduction of the post layouts extension. First pass.
greenshady authored
284
eed5031 Change "Post Layouts" extension to "Theme Layouts."
greenshady authored
285 /* Load the Theme Layouts extension if supported. */
286 require_if_theme_supports( 'theme-layouts', trailingslashit( HYBRID_EXTENSIONS ) . 'theme-layouts.php' );
e674efb Moving more Hybrid theme stuff out of core.
greenshady authored
287
982c613 Post Stylesheets is now officially an extension.
greenshady authored
288 /* Load the Post Stylesheets extension if supported. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
289 require_if_theme_supports( 'post-stylesheets', trailingslashit( HYBRID_EXTENSIONS ) . 'post-stylesheets.php' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
290 }
291
292 /**
1823e75 Better inline documentation for the Hybrid class.
greenshady authored
293 * Load admin files for the framework.
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
294 *
3594f29 Documentation updates galore.
greenshady authored
295 * @since 0.7.0
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
296 */
297 function admin() {
1823e75 Better inline documentation for the Hybrid class.
greenshady authored
298
299 /* Check if in the WordPress admin. */
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
300 if ( is_admin() ) {
1823e75 Better inline documentation for the Hybrid class.
greenshady authored
301
302 /* Load the main admin file. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
303 require_once( trailingslashit( HYBRID_ADMIN ) . 'admin.php' );
1823e75 Better inline documentation for the Hybrid class.
greenshady authored
304
02c9e07 Cleaning up the admin functionality for a better development experience.
greenshady authored
305 /* Load the theme settings feature if supported. */
79459d0 Always use trailingslashit() to add a trailing slash when including file...
greenshady authored
306 require_if_theme_supports( 'hybrid-core-theme-settings', trailingslashit( HYBRID_ADMIN ) . 'theme-settings.php' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
307 }
308 }
309
310 /**
b2d4785 Move a few actions/filters out of the core Hybrid class into appropriate...
greenshady authored
311 * Adds the default framework actions and filters.
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
312 *
b2d4785 Move a few actions/filters out of the core Hybrid class into appropriate...
greenshady authored
313 * @since 1.0.0
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
314 */
b2d4785 Move a few actions/filters out of the core Hybrid class into appropriate...
greenshady authored
315 function default_filters() {
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
316
7432e92 Bucket loads of changes. Just playin' around.
greenshady authored
317 remove_action( 'bbp_init', 'bbp_setup_theme_compat', 8 );
318
b2d4785 Move a few actions/filters out of the core Hybrid class into appropriate...
greenshady authored
319 /* Move the WordPress generator to a better priority. */
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
320 remove_action( 'wp_head', 'wp_generator' );
e674efb Moving more Hybrid theme stuff out of core.
greenshady authored
321 add_action( 'wp_head', 'wp_generator', 1 );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
322
b2d4785 Move a few actions/filters out of the core Hybrid class into appropriate...
greenshady authored
323 /* Add the theme info to the header (lets theme developers give better support). */
324 add_action( 'wp_head', 'hybrid_meta_template', 1 );
977325b Final (hopefully) update of the core Hybrid class to get the method load...
greenshady authored
325
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
326 /* Filter the textdomain mofile to allow child themes to load the parent theme translation. */
fdd14df Finalize on i18n?
greenshady authored
327 add_filter( 'load_textdomain_mofile', 'hybrid_load_textdomain_mofile', 10, 2 );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
328
abfcf47 Complete overhaul of how translations and internationalization is handle...
greenshady authored
329 /* Filter text strings for Hybrid Core and extensions so themes can serve up translations. */
330 add_filter( 'gettext', 'hybrid_gettext', 1, 3 );
fdd14df Finalize on i18n?
greenshady authored
331 add_filter( 'gettext', 'hybrid_extensions_gettext', 1, 3 );
998c506 Filter extension textdomains with hybrid_get_textdomains() so that they ...
greenshady authored
332
06fef79 Allow shortcodes in text widgets since this was removed from WP 3.3.
greenshady authored
333 /* Make text widgets and term descriptions shortcode aware. */
334 add_filter( 'widget_text', 'do_shortcode' );
0586624 Importing the initial Hybrid Core files and folders.
greenshady authored
335 add_filter( 'term_description', 'do_shortcode' );
336 }
337 }
338
339 ?>
Something went wrong with that request. Please try again.