调用未定义的WordPress函数get_header()错误,但仍显示标题

时间:2017-12-18 22:08:33

标签: php html wordpress wordpress-theming

我正在创建自定义WordPress主题,更具体地说是index.php文件。当我导航到我的网站主页时,标题会正确显示,但有时会在服务器日志中显示错误:

PHP Fatal error:  Uncaught Error: Call to undefined function get_header() in D:\home\site\wwwroot\wp-content\themes\OryTheme\index.php:1
Stack trace:
#0 {main}
  thrown in D:\home\site\wwwroot\wp-content\themes\OryTheme\index.php on line 1

我不知道为什么它会显示标题时出错。此外,如果我删除<?php get_header(); ?>,则不会显示标题。我可以忽略这些错误吗?

的index.php

<?php get_header(); ?>

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

    <div class="col-lg-6 col-sm-6 col-md-6 col-xs-12">
    <h1><?php the_title(); ?></h1>
    <h4>Posted on <?php the_time('F jS, Y') ?></h4>
    <p><?php the_content(__('(more...)')); ?></p>
    </div>
    <?php endwhile; else: ?>
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>

<?php endif; ?>
<?php get_sidebar(); ?>

<?php get_footer(); ?>

1 个答案:

答案 0 :(得分:0)

如果您或其他人试图访问这样的网址:https://yoursite.dev/wp-content/themes/OryTheme

您应该收到Uncaught Error: Call to undefined function get_header() in ....错误。

您或其他人很可能正在访问您网站的直接主题目录并且正在执行index.php但不幸的是,您将无法获得任何wordpress功能。所以它记录了一个错误。

如果您想摆脱这类错误。您总是可以在自定义主题和插件的PHP文件的开头放置这样的代码。

<?php 
if ( !defined( 'ABSPATH' ) ) exit; // don't allow to call the file directly

// start coding here