web-dev-qa-db-ja.com

Wordpressの致命的エラー:15行目のindex.php内の未定義のget_header()への呼び出し

私は最近ワードプレスのテーマをダウンロードして実行しようとしましたが、未定義の致命的エラー()を呼び出すという致命的エラーを示しています。このエラーが発生するのはなぜですか?私はwordpressのテーマ開発への新しい賛成論です。ここに私のindex.phpとheader.phpスクリプトがあります。前もって感謝します。

index.php

          <?php
         /**
         * The main template file.
         *
          * This is the most generic template file in a WordPress theme
          * and one of the two required files for a theme (the other being style.css).
           * It is used to display a page when nothing more specific matches a query.
          * E.g., it puts together the home page when no home.php file exists.
              *
            * @link https://codex.wordpress.org/Template_Hierarchy
            *
                * @package Astrid
                  */

                get_header(); ?>

                  <div id="primary" class="content-area">
                <main id="main" class="site-main" role="main">

                <?php
                if ( have_posts() ) :

                if ( is_home() && ! is_front_page() ) : ?>
                    <header>
                <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
                    </header>

header.php

                    <?php
                      /**
                           * The header for our theme.
                         * 
                       * This is the template that displays all of the <head> section and everyth ing up until <div id="content">
                            *
                                * @link https://developer.wordpress.org/themes/basics/template-files/#template-partials
                                           * 
                              * @package Astrid
                                           */

                                ?><!DOCTYPE html>
                                 <html <?php language_attributes(); ?>>
                                     <head>
                                <meta charset="<?php bloginfo( 'charset' ); ?>">
                               <meta name="viewport" content="width=device-width, initial-scale=1">
                                <link rel="profile" href="http://gmpg.org/xfn/11">
                                <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">

                                  <?php wp_head(); ?>
                                  </head>

                                 <body <?php body_class(); ?>>

                                 <div class="preloader">
                                         <div class="preloader-inner">
                            <ul><li></li><li></li><li></li><li></li><li></li><li></li></ul>
                                     </div>
                                     </div>

                           <div id="page" class="site">
                     <a class="skip-link screen-reader-text" href="#content"><?php esc_html_e( 'Skip to content', 'astrid' ); ?></a>

               <header id="masthead" class="site-header <?php echo astrid_has_header(); ?>" role="banner">
         <div class="container">
            <div class="site-branding col-md-4 col-sm-6 col-xs-12">
               <?php astrid_branding(); ?>
            </div>
            <div class="btn-menu col-md-8 col-sm-6 col-xs-12"><i class="fa fa-navicon"></i></div>
            <nav id="mainnav" class="main-navigation col-md-8 col-sm-6 col-xs-12" role="navigation">
               <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_id' => 'primary-menu' ) ); ?>
           </nav><!-- #site-navigation -->
          </div>
     </header><!-- #masthead -->

        <?php if ( astrid_has_header() == 'has-header' ) : ?>
        <div class="header-image">
        <?php astrid_header_text(); ?>
         <img class="large-header" src="<?php header_image(); ?>" width="<?php echo esc_attr( get_custom_header()->width ); ?>" alt="<?php bloginfo('name'); ?>">

        <?php $mobile_default = get_template_directory_uri() . '/images/header-mobile.jpg'; ?>
    <?php $mobile = get_theme_mod('mobile_header', $mobile_default); ?>
    <?php if ( $mobile ) : ?>
    <img class="small-header" src="<?php echo esc_url($mobile); ?>" width="                     <?php echo esc_attr( get_custom_header()->width ); ?>" alt="<?php bloginfo('name'); ?>">
    <?php else : ?>
    <img class="small-header" src="<?php header_image(); ?>" width="1024" alt="<?php bloginfo('name'); ?>">
    <?php endif; ?>
</div>
<?php elseif ( astrid_has_header() == 'has-shortcode' ) : ?>
<div class="shortcode-area">
    <?php $shortcode = get_theme_mod('astrid_shortcode'); ?>
    <?php echo do_shortcode($shortcode); ?>
</div>
<?php else : ?>
<div class="header-clone"></div>
<?php endif; ?> 

<?php if ( !is_page_template('page-templates/page_widgetized.php') ) : ?>
    <?php $container = 'container'; ?>
<?php else : ?>
    <?php $container = 'home-wrapper'; ?>
<?php endif; ?>

<?php do_action('astrid_before_content'); ?>

<div id="content" class="site-content">
    <div class="<?php echo $container; ?>">
1
Vinod Dirishala

インストールに問題がありました。 @Sumitがコメントしているように、get_header()はコア関数であり、未定義にすることはできません。

解決するには:WordPressを再インストールし、wp_config.phpでWP_DEBUGを有効にします。

define( 'WP_DEBUG', true );

ライブサイトにある場合は、代わりにこれを使用することをお勧めします。

define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

これにより、wp-contentフォルダのエラーログにエラーが一覧表示されます。

あなたのサイトは通常エラーなしでデフォルトテーマを使って表示されるべきです。

テーマをアクティブにしてエラーをチェックしてください。

1
mantis