Re-organize theme configuration and setup
functions.php should not contain any Roots specific code. It's just used to require files and bootstrap Roots. lib/init.php now handles initial theme setup and defines helper constants which did not belong in lib/config.php. config.php should be limited to strictly configuration settings.
This commit is contained in:
42
lib/init.php
Normal file
42
lib/init.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/**
|
||||
* Roots initial setup and constants
|
||||
*/
|
||||
|
||||
// Backwards compatibility for older than PHP 5.3.0
|
||||
if (!defined('__DIR__')) { define('__DIR__', dirname(__FILE__)); }
|
||||
|
||||
// Define helper constants
|
||||
$get_theme_name = explode('/themes/', get_template_directory());
|
||||
|
||||
define('WP_BASE', wp_base_dir());
|
||||
define('THEME_NAME', next($get_theme_name));
|
||||
define('RELATIVE_PLUGIN_PATH', str_replace(site_url() . '/', '', plugins_url()));
|
||||
define('FULL_RELATIVE_PLUGIN_PATH', WP_BASE . '/' . RELATIVE_PLUGIN_PATH);
|
||||
define('RELATIVE_CONTENT_PATH', str_replace(site_url() . '/', '', content_url()));
|
||||
define('THEME_PATH', RELATIVE_CONTENT_PATH . '/themes/' . THEME_NAME);
|
||||
|
||||
function roots_setup() {
|
||||
|
||||
// Make theme available for translation
|
||||
load_theme_textdomain('roots', get_template_directory() . '/lang');
|
||||
|
||||
// Register wp_nav_menu() menus (http://codex.wordpress.org/Function_Reference/register_nav_menus)
|
||||
register_nav_menus(array(
|
||||
'primary_navigation' => __('Primary Navigation', 'roots'),
|
||||
));
|
||||
|
||||
// Add post thumbnails (http://codex.wordpress.org/Post_Thumbnails)
|
||||
add_theme_support('post-thumbnails');
|
||||
// set_post_thumbnail_size(150, 150, false);
|
||||
// add_image_size('category-thumb', 300, 9999); // 300px wide (and unlimited height)
|
||||
|
||||
// Add post formats (http://codex.wordpress.org/Post_Formats)
|
||||
// add_theme_support('post-formats', array('aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat'));
|
||||
|
||||
// Tell the TinyMCE editor to use a custom stylesheet
|
||||
add_editor_style('assets/css/editor-style.css');
|
||||
|
||||
}
|
||||
|
||||
add_action('after_setup_theme', 'roots_setup');
|
||||
Reference in New Issue
Block a user