一時的な修正として、これを<theme_dir>/footer.php
の直前に追加しました</body></html>
:
<script>
jQuery('.gform_wrapper').show();
</script>
.gform_wrapper
これにより、クラスですべての div を表示するように jQuery に指示されます。
wp_footer();
私はすでに動き回り、ここから他のすべての提案を試みました。そして他のサイトから。何も機能しませんでした。また、キャッシュの無効化、キャッシュのパージ、プラグインの削除なども試しました。JS エラーはありません。フォームが表示されていません。
私が気づいたことの 1 つは、2 つの条件が満たされた場合にのみ問題が発生することです。
- ユーザーがログインしていません。
- フォームは条件付きロジックを使用します。
2 つのうちのいずれかが存在しない場合、フォームは正常に読み込まれます。
これが起こっている理由がわかったら、ここにさらに情報を追加します。
編集:
主な問題は、DOMContentLoaded
解雇されていないことです。すべての http リクエストが終了しない場合に発生します (保留中の css、js、画像など)。次のコード ( https://stackoverflow.com/a/49724894/1582649から借用) は、イベントを強制し、フォームを表示します。
window.document.dispatchEvent(new Event("DOMContentLoaded", {
bubbles: true,
cancelable: true
}));
保留中のリクエストがコンソールに表示されていないため、なぜこれが起こっているのかはまだわかりません。すべてが適切にロードされているようです。サイト全体を別のサーバーにコピーしようとしましたが、そこで動作します。これは、ホストプロバイダーに関連するものだと思います。ある種のキャッシュかもしれません。
とりあえず、そのコードは の最後に残しておきます<theme>/footer.php
。