Merge branch 'master' into config-class
This commit is contained in:
@@ -5,23 +5,46 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* Require Composer autoloader if installed on it's own
|
||||
* Helper function for prettying up errors
|
||||
* @param string $message
|
||||
* @param string $subtitle
|
||||
* @param string $title
|
||||
*/
|
||||
if (file_exists($composer = __DIR__ . '/vendor/autoload.php')) {
|
||||
require_once $composer;
|
||||
$error = function ($message, $subtitle = '', $title = '') {
|
||||
$title = $title ?: __('Sage › Error', 'sage');
|
||||
$footer = '<a href="https://roots.io/sage/docs">roots.io/sage/docs</a>';
|
||||
$message = "<h1>{$title}<br><small>{$subtitle}</small></h1><p>{$message}</p><p>{$footer}</p>";
|
||||
wp_die($message, $title);
|
||||
};
|
||||
|
||||
/**
|
||||
* Ensure compatible version of PHP is used
|
||||
*/
|
||||
if (version_compare('5.6.4', phpversion(), '>=')) {
|
||||
$error(__('You must be using PHP 5.6.4 or greater.', 'sage'), __('Invalid PHP version', 'sage'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sage includes
|
||||
*
|
||||
* The $sage_includes array determines the code library included in your theme.
|
||||
* Add or remove files to the array as needed. Supports child theme overrides.
|
||||
*
|
||||
* Please note that missing files will produce a fatal error.
|
||||
* Ensure dependencies are loaded
|
||||
*/
|
||||
array_map(function ($file) {
|
||||
if (!locate_template("src/{$file}.php", true, true)) {
|
||||
trigger_error(sprintf(__('Error locating %s for inclusion', 'sage'), $file), E_USER_ERROR);
|
||||
if (!file_exists($composer = __DIR__.'/vendor/autoload.php') && !class_exists('Roots\\Sage\\Container')) {
|
||||
$error(
|
||||
__('You must run <code>composer install</code> from the Sage directory.', 'sage'),
|
||||
__('Autoloader not found.', 'sage')
|
||||
);
|
||||
}
|
||||
require_once $composer;
|
||||
|
||||
/**
|
||||
* Sage required files
|
||||
*
|
||||
* The mapped array determines the code library included in your theme.
|
||||
* Add or remove files to the array as needed. Supports child theme overrides.
|
||||
*/
|
||||
array_map(function ($file) use ($error) {
|
||||
$file = "src/{$file}.php";
|
||||
if (!locate_template($file, true, true)) {
|
||||
$error(sprintf(__('Error locating <code>%s</code> for inclusion.', 'sage'), $file), 'File not found');
|
||||
}
|
||||
}, ['helpers', 'setup', 'filters', 'admin']);
|
||||
|
||||
|
||||
@@ -8,6 +8,12 @@ namespace App;
|
||||
add_action('customize_register', function (\WP_Customize_Manager $wp_customize) {
|
||||
// Add postMessage support
|
||||
$wp_customize->get_setting('blogname')->transport = 'postMessage';
|
||||
$wp_customize->selective_refresh->add_partial('blogname', [
|
||||
'selector' => '.brand',
|
||||
'render_callback' => function () {
|
||||
bloginfo('name');
|
||||
}
|
||||
]);
|
||||
});
|
||||
|
||||
/**
|
||||
|
||||
@@ -57,7 +57,7 @@ add_filter('template_include', function ($template) {
|
||||
echo template($template, $data);
|
||||
|
||||
// Return a blank file to make WordPress happy
|
||||
return dirname(__DIR__).'/index.php';
|
||||
return get_theme_file_path('index.php');
|
||||
}, PHP_INT_MAX);
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,11 +16,12 @@ class BladeProvider extends ViewServiceProvider
|
||||
/**
|
||||
* @param ContainerContract $container
|
||||
* @param array $config
|
||||
* @SuppressWarnings(PHPMD.StaticAccess)
|
||||
*/
|
||||
public function __construct(ContainerContract $container = null, $config = [])
|
||||
{
|
||||
/** @noinspection PhpParamsInspection */
|
||||
parent::__construct($container ?: new Container);
|
||||
parent::__construct($container ?: Container::getInstance());
|
||||
|
||||
$this->app->bindIf('config', function () use ($config) {
|
||||
return $config;
|
||||
@@ -45,9 +46,7 @@ class BladeProvider extends ViewServiceProvider
|
||||
*/
|
||||
public function registerFilesystem()
|
||||
{
|
||||
$this->app->bindIf('files', function () {
|
||||
return new Filesystem;
|
||||
}, true);
|
||||
$this->app->bindIf('files', Filesystem::class, true);
|
||||
return $this;
|
||||
}
|
||||
|
||||
@@ -56,9 +55,7 @@ class BladeProvider extends ViewServiceProvider
|
||||
*/
|
||||
public function registerEvents()
|
||||
{
|
||||
$this->app->bindIf('events', function () {
|
||||
return new Dispatcher;
|
||||
}, true);
|
||||
$this->app->bindIf('events', Dispatcher::class, true);
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,12 @@ add_action('after_setup_theme', function () {
|
||||
*/
|
||||
add_theme_support('html5', ['caption', 'comment-form', 'comment-list', 'gallery', 'search-form']);
|
||||
|
||||
/**
|
||||
* Enable selective refresh for widgets in customizer
|
||||
* @link https://developer.wordpress.org/themes/advanced-topics/customizer-api/#theme-support-in-sidebars
|
||||
*/
|
||||
add_theme_support('customize-selective-refresh-widgets');
|
||||
|
||||
/**
|
||||
* Use main stylesheet for visual editor
|
||||
* @see assets/styles/layouts/_tinymce.scss
|
||||
|
||||
Reference in New Issue
Block a user