Theme activation updates 'stylesheet' option instead of 'template'
This commit is contained in:
@@ -20,22 +20,21 @@ if (file_exists($composer = __DIR__ . '/vendor/autoload.php')) {
|
||||
* We do this so that the Template Hierarchy will look in themes/sage/templates for core WordPress themes
|
||||
* But functions.php, style.css, and index.php are all still located in themes/sage
|
||||
*
|
||||
* themes/sage/index.php also contains some self-correcting code, just in case the template option gets reset
|
||||
* get_template_directory() -> /srv/www/example.com/current/web/app/themes/sage
|
||||
* get_stylesheet_directory() -> /srv/www/example.com/current/web/app/themes/sage
|
||||
* locate_template()
|
||||
* ├── STYLESHEETPATH -> /srv/www/example.com/current/web/app/themes/sage
|
||||
* └── TEMPLATEPATH -> /srv/www/example.com/current/web/app/themes/sage/templates
|
||||
*/
|
||||
add_filter('stylesheet', function ($stylesheet) {
|
||||
add_filter('template', function ($stylesheet) {
|
||||
return dirname($stylesheet);
|
||||
});
|
||||
add_action('after_switch_theme', function () {
|
||||
$stylesheet = get_option('stylesheet');
|
||||
$stylesheet = get_option('template');
|
||||
if (basename($stylesheet) !== 'templates') {
|
||||
update_option('stylesheet', $stylesheet . '/templates');
|
||||
update_option('template', $stylesheet . '/templates');
|
||||
}
|
||||
});
|
||||
add_action('customize_render_section', function ($section) {
|
||||
if ($section->type === 'themes') {
|
||||
$section->title = wp_get_theme(basename(__DIR__))->display('Name');
|
||||
}
|
||||
}, 10, 2);
|
||||
|
||||
/**
|
||||
* Sage includes
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
<?php
|
||||
|
||||
if (defined('ABSPATH')) {
|
||||
update_option('template', get_option('template') . '/templates');
|
||||
}
|
||||
die("Kind Regards,\nRoots");
|
||||
include __DIR__ . '/templates/index.php';
|
||||
|
||||
@@ -24,7 +24,7 @@ function template_part($template, array $context = [], $layout = 'base')
|
||||
function asset_path($filename)
|
||||
{
|
||||
static $manifest;
|
||||
isset($manifest) || $manifest = new JsonManifest(get_template_directory() . '/' . Asset::$dist . '/assets.json');
|
||||
isset($manifest) || $manifest = new JsonManifest(get_stylesheet_directory() . '/' . Asset::$dist . '/assets.json');
|
||||
return (string) new Asset($filename, $manifest);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user