2016-07-28 59 views
1

我正在使用ACF在我的頁面中設置一系列插槽。所以管理界面包含了一系列靈活的領域,每一個都可以是下列之一:高級自定義字段在管理屏幕上很慢

  • 類別
  • 標籤

在前端的偉大工程。我可以通過拖放操作,從數據庫中選擇帖子/分類/標籤等,並且通常會玩得很開心。

不幸的是,當試圖向後端頁面添加新插槽或加載它時,添加新行所花費的時間正在消除它。我在那裏只有幾排,但已經無法接受了。我相當確定,當我添加更多時,我們將開始獲取超時。

我可以找到有關這個問題的唯一信息是在ACF論壇這種支持線程(https://support.advancedcustomfields.com/forums/topic/slow-backend-v-2-5-7/),這基本上是說:

是啊,如果你已經有了一個大的數據庫,並嘗試使用靈活的領域是會那樣做。

我也使用ACF-JSON沒有明顯的效果。

有其他人遇到過這個問題嗎?你做了什麼來解決它?還是你必須放棄? (理想情況下,我的解決方案會保留靈活的字段,因爲它們正是客戶在這種情況下所需要的 - 但是如果有另一種解決方案可以讓他們以線性時間編輯後端,我也對此感興趣)

回答

3

這是由於ACF加載其中繼器字段和靈活字段的方式。所有靈活字段中的佈局都被加載到dom中並被隱藏起來,絕大多數的javascript邏輯被應用到所有的佈局中。當您單擊添加新的「插槽」時,它將運行隱藏佈局的克隆,並將所有必需的事件處理程序附加到克隆。

如果您檢查頁面DOMContentLoaded與load(最終呈現事件)的時間軸,DOMContentLoaded在大多數情況下實際上相當快,但是加載(加載html後發生的所有事情)是大部分時間吃的東西,和記憶。

我已經能夠做的最好的是爲所見即所得內容字段激活新的「延遲初始化」選項,併爲選擇,複選框和無線電字段禁用「風格化UI」和「AJAX」選項。

最終,最大的問題來自於中繼器/ flexifields內部深度嵌套的中繼器/彈性域。避免儘可能多地嵌套,頁面加載時間將顯着減少。

0

如果您使用的任何擴展需要訪問任何頁面上的字段,例如LastPass。禁用該擴展會加快頁面的速度。

相關問題