diff --git a/README.md b/README.md index cd2f6de..bf8f59d 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,8 @@ themes/pressbooks-aldine/ # → Theme root ├── composer.json # → Autoloading for `app/` files ├── composer.lock # → Composer lock file (never edit) ├── dist/ # → Built theme assets (never edit) +├── functions.php # → Composer autoloader, theme includes +├── index.php # → Never manually edit ├── node_modules/ # → Node.js packages (never edit) ├── package.json # → Node.js dependencies and scripts ├── resources/ # → Theme assets and templates @@ -53,13 +55,11 @@ themes/pressbooks-aldine/ # → Theme root │ │ ├── images/ # → Theme images │ │ ├── scripts/ # → Theme JS │ │ └── styles/ # → Theme stylesheets -│ ├── functions.php # → Composer autoloader, theme includes -│ ├── index.php # → Never manually edit -│ ├── screenshot.png # → Theme screenshot for WP admin -│ ├── style.css # → Theme meta information │ └── views/ # → Theme templates │ ├── layouts/ # → Base templates │ └── partials/ # → Partial templates +├── screenshot.png # → Theme screenshot for WP admin +├── style.css # → Theme meta information └── vendor/ # → Composer packages (never edit) ``` diff --git a/app/filters.php b/app/filters.php index 4771801..0c5a366 100644 --- a/app/filters.php +++ b/app/filters.php @@ -64,6 +64,13 @@ add_filter('comments_template', function ($comments_template) { return template_path(locate_template(["views/{$comments_template}", $comments_template]) ?: $comments_template); }); +/** + * Fix Controller path + */ +add_filter('sober/controller/path', function() { + return get_template_directory() . '/app/controllers'; +}); + /** * Remove Admin Bar callback */ diff --git a/resources/functions.php b/functions.php similarity index 86% rename from resources/functions.php rename to functions.php index 25b2dba..550ab1b 100644 --- a/resources/functions.php +++ b/functions.php @@ -41,7 +41,7 @@ if (version_compare('4.7.0', get_bloginfo('version'), '>=')) { * Ensure dependencies are loaded */ if (!class_exists('Roots\\Sage\\Container')) { - if (!file_exists($composer = __DIR__.'/../vendor/autoload.php')) { + if (!file_exists($composer = __DIR__.'/vendor/autoload.php')) { $sage_error( __('You must run composer install from the Sage directory.', 'aldine'), __('Autoloader not found.', 'aldine') @@ -57,7 +57,7 @@ if (!class_exists('Roots\\Sage\\Container')) { * Add or remove files to the array as needed. Supports child theme overrides. */ array_map(function ($file) use ($sage_error) { - $file = "../app/{$file}.php"; + $file = "/app/{$file}.php"; if (!locate_template($file, true, true)) { $sage_error(sprintf(__('Error locating %s for inclusion.', 'aldine'), $file), 'File not found'); } @@ -87,16 +87,11 @@ array_map(function ($file) use ($sage_error) { * ├── STYLESHEETPATH -> /srv/www/example.com/current/web/app/themes/sage/resources/views * └── TEMPLATEPATH -> /srv/www/example.com/current/web/app/themes/sage/resources */ -array_map( - 'add_filter', - ['theme_file_path', 'theme_file_uri', 'parent_theme_file_path', 'parent_theme_file_uri'], - array_fill(0, 4, 'dirname') -); Container::getInstance() ->bindIf('config', function () { return new Config([ - 'assets' => require dirname(__DIR__).'/config/assets.php', - 'theme' => require dirname(__DIR__).'/config/theme.php', - 'view' => require dirname(__DIR__).'/config/view.php', + 'assets' => require __DIR__.'/config/assets.php', + 'theme' => require __DIR__.'/config/theme.php', + 'view' => require __DIR__.'/config/view.php', ]); }, true); diff --git a/resources/index.php b/index.php similarity index 100% rename from resources/index.php rename to index.php diff --git a/resources/screenshot.png b/screenshot.png similarity index 100% rename from resources/screenshot.png rename to screenshot.png diff --git a/resources/style.css b/style.css similarity index 100% rename from resources/style.css rename to style.css