为什么当我加载模板时,一些插件样式没有加载?

时间:2019-08-06 作者:Pikamander2

我正在使用template_redirect 要基于URL加载自定义模板文件,请执行以下操作:

add_action( \'template_redirect\', function()
{
    if (is_singular(\'business\'))
    {
        load_template(get_plugin_path() . \'templates/business.php\');
    }
});
它在大多数情况下都能正常工作,但一些CSS文件似乎没有加载。具体而言,Elementor Profrontend.min.css 文件未加载,即使其其他一些文件已加载。这打乱了我网站上的一些风格。

发生这种情况的原因是什么?我如何修复它?

1 个回复
SO网友:Pikamander2

根据WordPress Codex,使用template_redirect 不鼓励加载不同的模板,这会导致某些代码无法执行,这当然会导致奇怪的bug。

template_include 是更合适的解决方案。它加载一个模板文件,但没有上述行为。

add_action( \'template_include\', function($original_template)
{
    if (is_singular(\'business\'))
    {
        load_template(get_plugin_path() . \'templates/business.php\');
    }

    return $original_template;
});

相关推荐

Custom term templates

所以,我在网上做了一些研究,但没有找到可靠的答案,所以我来了。我需要为特定类别创建自定义woocommerce类别页面。例如,我有一个类别叫做“Awesome”。而不是使用由短代码生成的常规类别页面[product_category category=\"something\"], 我想为自定义特定类别页面Awesome.我发现我需要编辑taxonomy-product_cat.php 但我不知道如何将其链接到名为awesome.换句话说,我正在考虑制作php文件的自定义副本,然后将其添加为主题templ