コードが機能しない24以上の理由とその修正方法

公開: 2013-08-21

私は常に最初にコードをテストして動作することを確認しますが、壊れていなくても自分自身とそれを使用する他の人の両方にとって動作しないことがある理由はたくさんあります。

コードが機能しない理由のいくつかを次に示します。

  1. ブラウザのキャッシュをクリアするのを忘れた:ブラウザが実際に古いコードを含む古いバージョンのページを表示しているため、CSSを変更して、実際に行ったときに機能しないと思う場合があります。 確認するためにブラウザのキャッシュをクリアしてください。
  2. サーバーキャッシュをクリアしませんでした:一部のマネージドホスティングプロバイダーは、非常に積極的なサーバー側キャッシュを使用しています。 WPEngineは、CSSの変更がサイトに表示されるまでに実際には数日かかる可能性があることを意味していることを私は知っています。 これらの変更を実際に機能させることはできますが、フロントエンドで変更を確認できないため、機能しないと思います。 サーバーキャッシュをクリアし、サーバー側キャッシュまたはキャッシュプラグインを使用してコードをローカルでテストします。
  3. 関数ファイルに貼り付けられたCSSコード: CSSコードは、サーバーにインストールされたPHPプロセッサによって読み取られることを意味する開始PHPタグを含む関数ファイルでは正しく機能しません。
  4. PHPをスタイルシートに貼り付ける:PHPコードは、サーバーにインストールされているPHPプロセッサーではなく、ブラウザーによって読み取られる.cssファイルでは機能しません。
  5. PHPまたはCSSをヘッダーおよびフッタースクリプトに貼り付ける:ヘッダーおよびフッタースクリプトのボックスを含むテーマは、PHPスクリプトではなく、GoogleAnalyticsトラッキングおよびライブチャットスクリプト用のJavascriptを簡単に追加できるようにします。
  6. Webページからコピーして、テーマエディタに貼り付けました。アポストロフィが向きを変えて、サイトを壊す死の白い画面が表示される可能性がある非常に一般的な間違い。 常に生のコードをコピーし、Notepad++などのテキストエディタを使用してファイルの最後に貼り付けます。
  7. すべてのコードをコピーしませんでした:クラスを含まない、または閉じ括弧がないCSSコードのブロックをコピーすると、コードが機能しなくなります。 したがって、唯一の問題が角かっこまたはセミコロンを残したことである場合、コードはgeedされていないと思うかもしれません。
  8. すべてのコードを貼り付けなかった:上記と同じで、時々発生します。
  9. テーマで古いフックを使用する場合に新しいフックを使用しました。新しいサイトで古いXHTMLマークアップを実行しているサイトにループフックを含むコードを使用しても機能しません。 コードは古いサイトでは機能するため、壊れることはありませんが、HTML5では機能しません。子テーマが有効になります。
  10. テーマが新しいフックを使用するときに古いフックを使用しました:上記と同じ
  11. コード内のクラスをサポートしていない古いブラウザの使用:一部の古いブラウザは特定のCSSクラスをサポートしていないため、コードは記述されたとおりに動作しません。 複数のブラウザをインストールしてコードをテストしたり、ブラウザ間の互換性のために無料のオンラインツールを使用したりできます。
  12. コード内のクラスをまだサポートしていない最新のブラウザーバージョンを使用する:一部の新しいブラウザーは一部のCSSクラスをサポートしていません。つまり、コードは古いブラウザーで機能しますが、ベータ版を使用しているため、サポートされていないと思われるかもしれません。蜂だけがリリースされたバージョンまたは最新バージョン。
  13. 開始PHPタグをコピーして、関数ファイルに貼り付けました。PHPスニペットには通常開始PHPタグが含まれていますが、すでにそのタグが含まれている関数ファイルに貼り付けないでください。 これが発生した場合、エラーメッセージが表示され、サイトが破損します。これは、タグを削除するだけで簡単に修正できます。 これが、WordPressのエディターを使用するのではなく、テキストエディターを使用してコードを実際のファイルに貼り付けることが常にベストプラクティスである理由です。 実際のファイルにコードを追加すると、簡単に再度開いて問題をすばやく取り除くことができます。これは、プログラミングエラーが発生するとサイトからロックアウトされるため、テーマエディターを使用している場合には当てはまりません。
  14. どちらかを選択するのではなく、両方のソリューションをコピーして貼り付けました。多くの投稿やフォーラムには、同じ問題を解決する複数のコードスニペットが含まれています。 同じことを行う2つのコードスニペットを貼り付けると、サイトが破損する可能性があるため、コードが破損していると思われる場合がありますが、そうではありません。 一度に1つのスニペットのみを使用してください。
  15. 関数コードをテンプレートファイルにコピーする:子テーマ関数ファイルではなく、テンプレートファイルで使用するように記述されたPHPコードが見つかる場合があります。 テンプレートコードは、通常PHPの開始タグと終了タグでラップされているため、関数ファイルで常に機能するとは限りません。 カスタム関数は通常、テーマによっては、プレートファイルで機能しないことを意味するものではありません。 コードを貼り付けるファイルを正確に知っていることを確認してください。そうしないと、コードが機能するときに機能しないと考えてエラーが発生する可能性があります。
  16. コードを上書きするプラグインがインストールされています。一部のプラグインはPHPコードを上書きします。つまり、フィルターとフックを備えたコードが機能しない場合があります。 この例は、GenesisSimpleEditsプラグインです。 投稿情報と投稿メタをカスタマイズできるこのプラグインがインストールされている場合、投稿メタまたは投稿情報フィルターを含む同じことを行うためにPHPコードを追加しても機能しません。 実際には機能しているのにコードが機能しないと思うかもしれません。問題を解決してコードを機能させるために必要なのは、プラグインを非アクティブ化することだけです。
  17. PHPコードを使用してレイアウトを条件付きで変更するこのコードは、GenesisbbPress接続プラグインも使用するbbPressを使用する一部のテーマでは機能しません。 このプラグインはGenesisフィルターにフックします。これは、PHPコードが条件付きでレイアウトを変更するために行うのと同じことであるため、コードを上書きしても機能しません。
  18. HTML5子テーマでのXHTMLCSSクラスの使用–例:#contentは、.entry-contentを使用するHTML5子テーマでは機能しません。
  19. XHTMLテーマでのHTMLマークアップの使用– .site-headerはXHTMLマークアップを実行しているサイトでは機能しないため、#headerを使用する必要があります。
  20. フロントページテンプレートコード–フロントページテンプレートのコードは、デフォルトの閲覧設定を使用している場合にのみ機能します。 これらの設定を変更し、フロントページとして静的ページを選択すると、フロントページテンプレートのコードは機能しません。
  21. メディアクエリの後にCSSを追加–メディアクエリの前にカスタムCSSを追加することをお勧めします。そうしないと、機能しない場合があります。
  22. すでにスタイル設定されているクラスを変更するためのCSSの追加–スタイルシートの最後にCSSを追加して、デフォルトですでにスタイル設定されている既存の要素のスタイルを変更しました。 この例は、ウィジェット領域を変更して、デフォルトで注目ページウィジェットを使用するようにスタイル設定されている場合に、Genesis注目投稿ウィジェットを使用する場合です。 CSSは異なる場合がありますが、使用しているクラスは異なります。 デフォルトのCSSを変更して、注目のページウィジェットのスタイルを長くし、注目の投稿ウィジェットのスタイルのみを設定するようにします。
  23. ホームページテンプレートコード– home.phpテンプレートファイル内のコードは、デフォルトの読み取り設定を使用する場合にのみフロントページで機能します。 静的ページをフロントページとして使用する場合、ドロップダウンメニューからブログページテンプレートを選択していない場合、コードは投稿ページ(ブログページなど)でのみ機能します。 (ブログページテンプレートを含むテーマにのみ適用されます)。
  24. 誤って変更されたCSSが他のCSSを壊す–メンバーがカスタムレイアウトを作成するためのコードをインストールしましたが、コンテンツの幅を変更するCSSが機能しなかったため機能しませんでした。 彼らは、以前に!importantを使用して追加した他のCSSが、新しいCSSの動作を妨げていることを発見しました。

上記のコードは、Genesis Simple Editsプラグインもアクティブになっている場合は機能しません。これは、投稿情報フィルターを上書きするためです。

現時点で私が考えることができるのはそれだけですが、このリストに追加できるコードが機能しない(しかし実際には機能する)理由は他にもたくさんあると確信しています。

関連記事

  • コードを再公開する前に考慮すべき5つの重要なポイント