将 Brain/Cortex 路由器与 Bedrock/Sage9 一起使用

Use the Brain/Cortex router with Bedrock/Sage9

我无法让 Cortex 路由器与 Sage9 WordPress 主题一起使用。

由于 template_include 过滤器,模板继承似乎被破坏了。 Cortex 删除了所有 template_include 过滤器,这些过滤器不允许 Sage 使用它的模板包装器。

Cortex 模板包含

https://github.com/Brain-WP/Cortex/blob/refactoring-fastroute/src/Cortex/Router/ResultHandler.php#L139-L143

add_filter('template_include', function () use ($template) {
    remove_all_filters('template_include');
    return $template;
}, -1);

Sage 9 模板包含

https://github.com/roots/sage/blob/sage-9/src/filters.php#L48-L53

add_filter('template_include', function ($main) {
    if (!is_string($main) && !(is_object($main) && method_exists($main, '__toString'))) {
        return $main;
    }
    return ((new Template(new Wrapper($main)))->layout());
}, 109);

感谢 Giuseppe Mazzapica

https://github.com/Brain-WP/Cortex/issues/15