dstwfcz1377 2018-10-13 00:26
浏览 40
已采纳

从插件加载front-page.php以覆盖主题

I'm working on a WordPress plugin and thought that to load front-page.php from my plugin, all I had to do was add it to the root directory like I would in a custom theme, but that has not been the case.

How do I get front-page.php from my plugin to load and override any theme/child themes?

I've tried to use the locate_template override from the codex here, but it only flashes my front-page.php and then defaults to index.php.

Thoughts?

Thank you!

  • 写回答

1条回答 默认 最新

  • duanli4146 2018-10-13 00:37
    关注

    You could override the template include wordpress function. You do so when using the 'template_include' filter within your themes or plugins function.php.

    add_filter('template_include', 'template_override');
    function template_override($template) {
      if (is_front_page()) {
        return TEMPLATE_PATH . 'filename.php';
      }
      // default wordpress behavior
      return $template;
    }
    

    You also could run trouble when the static frontpage setting is configured. https://codex.wordpress.org/Creating_a_Static_Front_Page

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?