0

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);
4

1 に答える 1