2017-06-01 6 views
0

私はカスタムテーマを作っていることに気付きました。私は、例えば、URL(またはanypage)を介して、私のテーマのindex.phpファイルに直接アクセスしようとすると:wordpressがエラーを報告しないようにする

localhost/wordpress/wp-content/themes/my-theme/index.php 

このエラーが表示されます。

Fatal error: Call to undefined function get_header() in ... on line... 

他のテーマをダウンロードしてアクティブにしようとしましたが、結果は同じです。 これを防ぐ方法を教えてください。

私はWP-config.phpを

error_reporting(0); 
@ini_set('display_errors', 0); 

が、何もありませんとに以下の行を追加しようとしました。 私は「ライブ」をテストしましたが、結果はありません。

ありがとうございます。

+0

このリンクをチェックしhttps://wordpress.org/support/topic/fatal- error-undefined-function-get_header-in-index-php-on-line-1/ – PiLHA

+0

この@PiLHAに感謝します。私は今、wp-config.phpを変更せずに別のサーバをチェックしました。エラーは表示されませんでした。これはサーバ設定ですか?ありがとう。 – eskimopest

+0

多くのエラーログを貼り付けます。 PERHAPS 'short_open_tag'は有効になっていません。どのバージョンのApacheを使用していますか? – PiLHA

答えて

0

私が間違っている場合は私を修正しますが、誰かがテーマのindex.phpに直接アクセスしようとするとエラーが発生します。 たとえば、ボットがアクセスしようとしたときなどです。

あなたはこのように直接アクセスすることはありません:

<?php get_header(); ?> 

むしろ、このようにそれを試してみてください。

<?php 
    if (function_exists('get_header')) { 
    get_header(); 
    } else { 
    // Here goes whatever you want to do when the file is accessed directly. 
    } 
?> 
+0

あなたは正しいです。これはちょうどテーマファイルに直接アクセスするときに起こります。 index.phpだけではなく、single.phpやanyotherファイル。私がテストしたものから、もし私が直接ファイルにアクセスしようとすると、get_header、get_footer、またはanyotherのようなwordpressのコア機能はすべて定義されていません。事は、あなたが間違っていると言っているのではなく、私が見たすべてのテーマは、<?php get_header(); ?>。もう一つは、私が持っているサーバーでは、そのエラーが表示され、別のサーバーでは、エラーisntが表示されます。これはサーバー構成ですか? – eskimopest

+0

これは別のサーバーでこれを実行することをお勧めします。実際には、サーバーの設定に起因する可能性が非常に高いです。 –

+0

ケビン・ボスマン、私はすでにやった。 phpの設定を確認し、そのうちの1つでは、display_errorsを表示するように設定しました。私はその設定を変更し、エラーは現れませんでした=)そう、ケース解決...(私は推測する...) – eskimopest

関連する問題