2016-07-28 13 views
1

私はACFを使用して自分のページに一連のスロットを設定しています。フロントエンドに素晴らしい作品アドバンストカスタムフィールドが管理画面で遅い

  • ポスト
  • カテゴリー
  • タグ
:だから、管理者画面は、次のいずれかになります。それぞれの柔軟なフィールド、一連のが含まれています。私はドラッグアンドドロップ、データベースからの投稿/カテゴリ/タグの選択など、一般的に楽しい時間があります。

残念ながら、新しいスロットをバックエンドのページに追加しようとすると、またはロードするときに、新しい行を追加するのにかかる時間がかかります。私はそこにいくつかの行しか持っていませんが、それはすでに容認できないほど長く続いています。私はかなりいくつかを追加すると、私たちはタイムアウトを取得し始めるとかなり確信しています。

この問題について、私は見つけることができる唯一の情報は基本的に言っている、ACFフォーラム(https://support.advancedcustomfields.com/forums/topic/slow-backend-v-2-5-7/)でこのサポートスレッドです:あなたは大きなデータベースと試してみて、使用して柔軟なフィールドを持っている場合、それはだ、

うんそうするつもりです。

また、ACF-JSONを使用しても目立つ効果はありません。

誰でもこの問題が発生していますか?あなたはそれを回避するために何をしましたか?それとも、放棄しなければならなかったのですか?

(理想的には、私のソリューションはクライアントがこのような状況で望んでいるものなので柔軟なフィールドを保持しますが、リニアタイムでバックエンドを編集できる別のソリューションがある場合は、 。)

答えて

3

これは、ACFがリピータフィールドとフレキシブルフィールドをロードする方法によるものです。フレキシブルなフィールドのすべてのレイアウトはDOMにロードされ、非表示になり、JavaScriptロジックの絶対量がすべてのフィールドに適用されます。クリックして新しい "スロット"を追加すると、隠れたレイアウトのクローンが実行され、必要なすべてのイベントハンドラがクローンに追加されます。

DOMContentLoadedとロード(最終的なレンダリングイベント)のタイムラインをチェックすると、DOMContentLoadedはほとんどの場合かなり高速ですが、ロード(HTMLがロードされた後に発生するすべて)がその時間のほとんどを食べるものです、およびメモリ。

私ができることは、WYSIWYGコンテンツフィールドの新しい「遅延初期化」オプションを有効にし、選択、チェックボックス、ラジオフィールドの「スタイル化UI」と「AJAX」オプションを無効にすることです。

最後に、最大の問題は、リピータ/フレキシブルフィールド内に深くネストされたリピータ/フレックスフィールドを持つことにあります。可能な限り入れ子にしないでください。ページの読み込み時間が大幅に短縮されます。

0

任意のページ(たとえば、LastPass)のフィールドにアクセスする必要のある拡張機能を使用している場合。その拡張機能を無効にすると、ページが高速化されます。

関連する問題