__('Primary Navigation', 'sage') ]); /** * Enable post thumbnails * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/ */ add_theme_support('post-thumbnails'); /** * Enable HTML5 markup support * @link https://developer.wordpress.org/reference/functions/add_theme_support/#html5 */ 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 */ add_editor_style(asset_path('styles/main.css')); }, 20); /** * Register sidebars */ add_action('widgets_init', function () { $config = [ 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' ]; register_sidebar([ 'name' => __('Primary', 'sage'), 'id' => 'sidebar-primary' ] + $config); register_sidebar([ 'name' => __('Footer', 'sage'), 'id' => 'sidebar-footer' ] + $config); }); /** * Setup Sage options */ add_action('after_setup_theme', function () { /** * Sage config */ sage()->bindIf('config', function () { return [ 'view.paths' => [TEMPLATEPATH, STYLESHEETPATH], 'view.compiled' => wp_upload_dir()['basedir'].'/cache/compiled', 'view.namespaces' => ['App' => WP_CONTENT_DIR], 'assets.manifest' => get_stylesheet_directory().'/dist/assets.json', 'assets.uri' => get_stylesheet_directory_uri().'/dist' ]; }); /** * Add JsonManifest to Sage container */ sage()->singleton('sage.assets', function ($app) { $config = $app['config']; return new JsonManifest($config['assets.manifest'], $config['assets.uri']); }); /** * Add Blade to Sage container */ sage()->singleton('sage.blade', function ($app) { $config = $app['config']; $cachePath = $config['view.compiled']; if (!file_exists($cachePath)) { wp_mkdir_p($cachePath); } (new BladeProvider($app))->register(); return new Blade($app['view'], $app); }); /** * Create @asset() Blade directive */ sage('blade')->compiler()->directive('asset', function ($asset) { return ''; }); });