WordPress JSON 處理相關函數大全
JSON處理是WordPress開發中的經常需要處理的一項工作,為此WordPress 定義了一堆JSON處理的函數,下面由WordPress教程專欄給大家做一下統一的介紹。
wp_json_encode
#編碼成 JSON,並且進行一些完整性檢查。
wp_json_encode( $data, $options = 0, $depth = 512 )
簡單說下 WordPress 引進這個函數的原因:
首先不同 PHP 版本 json_encode 函數支援不同的參數。 PHP 5.3 之前只支援 一個參數 $data,PHP 5.3 引進了 $options 參數,PHP 5.5 又引進了 $depth 參數。所以 WordPress 適配不同版本的 PHP,wp_json_encode 都支援三個參數,相容於不同版本的 PHP。
在json_encode 之前,wp_json_encode 使用函數_wp_json_prepare_data 對資料進行清理,如果boolean,integer,double,string,NULL 這些類型,直接返回,如果數組,繼續使用_wp_json_prepare_data 函數對數組中的每個元素進行清理,如果是對象,如果該對象的class 實現了JsonSerializable 接口,則返回$data = $data->jsonSerialize(),否則,繼續使用_wp_json_prepare_data 對對像中的每個屬性進行清理。
然後使用 json_encode 進行編碼,如果不成功,則使用 _wp_json_sanity_check 對資料進行完整性處理,最後再使用 json_encode 進行編碼。 _wp_json_sanity_check 主要使用函數 _wp_json_convert_string 對資料進行深度 UTF-8 檢測和轉換。
所以建議使用 wp_json_encode 對變數進行 JSON 編碼,它的可靠性更高。
wpjam_json_encode
wp_json_encode( $data, $options = JSON_UNESCAPED_UNICODE, $depth = 512 )
PHP5.4 JSON 新增了一個選項:JSON_UNESCAPED_UNICODE,故名思議:不要編碼成 Unicode,讓中文更可讀。
所以我們寫了一個wpjam_json_encode 函數,相較於wp_json_encode,就是將$options 參數預設值設為JSON_UNESCAPED_UNICODE,這樣直接使用wpjam_json_encode($data),中文。
只要你安裝 WPJAM Basic 插件,你的 WordPress 就會有這個函數。
wp_send_json
直接傳送 JSON 資料。
wp_send_json( $response, $status_code = null )
他先輸出 application/json 的 Content-Type 頭,如果 $status_code 不為空,則輸出 $status_code 的狀態碼。
然後呼叫 wp_json_encode 對資料進行編碼。
wpjam_send_json
wpjam_send_json( $response, $status_code = null )
同樣為了能夠JSON 編碼之後,中文更可讀,我們也寫了wpjam_send_json 函數,它和wp_send_json 幾乎一致,只是調用對資料進行編碼的函數是wpjam_json_encode。
另外如果傳入的資料是 WP_Error 的實例,那麼 wpjam_send_json 直接輸出 errcode 和 errmsg JSON。如果沒有設定 errcode,則 wpjam_send_json 自動加上 errcode=>0
安裝 WPJAM Basic 插件,你的 WordPress 就會有這個函數。
wp_send_json_success 和wp_send_json_error
WordPress 也提供wp_send_json_success 和wp_send_json_error 兩個函數:##rrrereee_ccoo,然後把輸出為#json_cc資料$data 放到data 裡面輸出。 wp_send_json_error 則會判斷 $data 是否為 WP_Error 實例,如果是,則輸出 code 和 message 的陣列。我們實現的 wpjam_send_json 已經能夠自動化處理這些錯誤了。
wp_is_json_request
判斷目前請求是不是JSON 請求,或是回傳JSON 結果,這個函數沒有參數,直接使用:
它透過判斷$_SERVER['HTTP_ACCEPT'] 中含有application/json,或$_SERVER['CONTENT_TYPE'] 等於application/json。
#判斷目前請求是不是JSONP 請求,或是回傳JSONP 結果,這個函數沒有參數,直接使用:
它先判斷$_GET['_jsonp'] ,是否存在,然後透過函數wp_check_jsonp_callback 判斷它的值是否合法。
#判斷JSONP callback 是不是一個合法的JavaScript callback 函數:
合法的JavaScript callback 函數只能數字加字符,以及英文點號。
以上是WordPress JSON 處理相關函數大全的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP和Flutter是行動端開發的流行技術。 Flutter勝在跨平台能力、效能和使用者介面,適合需要高效能、跨平台和自訂UI的應用程式。 PHP則適用於效能較低、不跨平台的伺服器端應用程式。

透過編輯 style.css 文件,您可以輕鬆修改 WordPress 頁面寬度:編輯 style.css 文件,新增 .site-content { max-width: [您的首選寬度]; }。修改 [您的首選寬度] 以設定頁面寬度。儲存變更並清除快取(可選)。

WordPress 文章儲存在 /wp-content/uploads 資料夾中。此資料夾使用子資料夾對不同類型的上傳進行分類,包括按年、月和文章 ID 組織的文章。文章檔案以純文字格式 (.txt) 存儲,檔案名稱通常包含其 ID 和標題。

在WordPress 中建立產品頁面:1. 建立產品(名稱、描述、圖片);2. 自訂頁面範本(新增標題、描述、圖片、按鈕);3. 輸入產品資訊(庫存、尺寸、重量);4 .建立變體(不同顏色、尺寸);5. 設定可見性(公開或隱藏);6. 啟用/停用評論;7.預覽並發布頁面。

WordPress 範本檔案位於 /wp-content/themes/[主題名稱]/ 目錄。它們用於決定網站的外觀和功能,包括頁首(header.php)、頁尾(footer.php)、主模板(index.php)、單篇文章(single.php)、頁(page.php)、檔案(archive.php)、類別(category.php)、標籤(tag.php)、搜尋(search.php)和404 錯誤頁面(404.php)。透過編輯和修改這些文件,可以自訂 WordPress 網站的外

在 WordPress 中搜尋作者:1. 登入管理面板後,導覽至“文章”或“頁面”,使用搜尋欄輸入作者姓名,在“篩選器”中選擇“作者”。 2. 其他技巧:使用通配符擴大搜尋範圍,使用運算子組合條件,或輸入作者 ID 以搜尋文章。

WordPress 採用 PHP 語言開發,作為其核心程式語言,用於處理資料庫互動、表單處理、動態內容產生和使用者請求。 PHP 被選擇的原因包括跨平台相容性、易於學習、活躍社群以及豐富的函式庫和框架。除了 PHP,WordPress 還使用 HTML、CSS、JavaScript、SQL 等語言來增強其功能。

最穩定的 WordPress 版本是最新版本,因為它包含最新的安全性修補程式、增強效能並引入新功能和改進。為了更新到最新版本,請登入 WordPress 儀表板,前往「更新」頁面並點擊「立即更新」。
