簡體   English   中英

ACF:中繼器字段返回不穩定的API數據,而新字段在保存時將不接受新數據

[英]ACF: repeater fields returning erratic API data and new fields won't accept new data on save

我們正在處理的網站在上周已損壞,我們不知道發生了什么。 以下是問題列表,以及為解決這些問題而采取的步驟:

  • 在我們的API調用中,我們使用get_field()和get_fields()向中繼器請求數據,但有時會返回null,false或數組長度。 所有內容仍在數據庫中。
  • 嘗試創建新的轉發器內容時,父轉發器字段的子字段不會在第一次保存時保存,但是一旦重新添加,就可以在以后保存。
  • 當創建新字段(任何字段,而不僅僅是轉發器)時,密鑰將從field_xxxxxxxxxxxxxx格式更改為與名稱相同,即簡短描述。
  • 可以將舊的轉發器字段更新或保存到其中,而新的轉發器字段將不保存數據。

故障排除步驟

在此先感謝您能夠提供的任何指導:)

原來是問題所在的是functions.php中的這段代碼,我們用來重寫這些代碼是問題所在:

function myplugin_update_slug( $data, $postarr ) {
    if ( ! in_array( $data['post_status'], array( 'draft', 'pending', 'auto-draft' ) ) ) {
        $data['post_name'] = sanitize_title( $data['post_title'] );
    }
    return $data;
}

sanitize_title()函數覆蓋了關鍵字段,並導致ACF失去了對該字段的跟蹤。

我們通過激活一個干凈的WP主題解決了這一問題,然后,當我們確認它是子主題中的某些代碼時,我們只是在我們的functions.php文件中注釋掉了代碼,直到發現有問題的函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM