目錄
>解決方案涉及在儀表板站點和所有25個客戶端站點上安裝的單個WordPress插件。 該插件具有兩個主要功能:
代碼代碼段:API端點註冊
代碼段:異步數據獲取
連接PHP和JavaScript
>本文提供了開發過程的高級概述。 遇到的具體挑戰和解決方案為使用大規​​模WordPress多元化部署的開發人員提供了寶貴的見解。
首頁 web前端 css教學 WordPress多宗教:一個案例研究

WordPress多宗教:一個案例研究

Mar 07, 2025 pm 05:06 PM

WordPress Multi-Multisite: A Case Study

挑戰:構建一個WordPress管理儀表板,以有效地顯示來自大約900個博客的Google Analytics數據,分佈在25個多站點實例中。 關鍵是要克服處理如此大的數據集固有的性能障礙。

>

>本文詳細介紹了開發過程,突出了遇到的關鍵決策和挑戰。 我們將探討WordPress REST API,PHP與JavaScript辯論,生產環境限制,安全注意事項,數據庫設計,甚至AI的作用。

鍵術語

在潛水之前,讓我們澄清一些術語:

  • WordPress多站點:一個核心WordPress功能,可以從單個安裝中啟用多個博客的管理。 博客共享核心文件和數據庫,但具有單個媒體文件夾和博客特定的數據庫表。
  • > wordpress 多站點:一個用於管理WordPress多站點安裝多個實例的術語。這種方法避免了在不同客戶之間共享一個多站點的複雜性。 >
  • >
  • 儀表板網站:託管用於查看匯總分析數據的自定義儀表板的站點。
  • 客戶端站點:收集數據的25個WordPress多站點實例。 >
  • 實施策略

>解決方案涉及在儀表板站點和所有25個客戶端站點上安裝的單個WordPress插件。 該插件具有兩個主要功能:

    通過客戶端站點上的自定義API端點曝光數據。
  1. > >>從儀表板站點上的客戶端站點刪除數據,緩存並在儀表板上顯示。
  2. wordpress rest api:基礎> > WordPress REST API是該項目的核心。 它的可擴展性使創建自定義端點可以公開必要的數據。

代碼代碼段:API端點註冊

>

php vs. javaScript:異步優勢

<?php [...]
function register(\WP_REST_Server $server) {
  $endpoints = $this->get();
  foreach ($endpoints as $endpoint_slug => $endpoint) {
    register_rest_route(
      $endpoint['namespace'],
      $endpoint['route'],
      $endpoint['args']
    );
  }
}
// ... (rest of the endpoint definitions) ...
登入後複製
登入後複製
最初,考慮了一種基於PHP的方法。但是,同步的PHP處理和服務器端執行時間限制使此不切實際。 JavaScript的異步功能提供了出色的解決方案,從而使所有站點都可以從所有站點進行數據檢索。 JavaScript實現大大減少了數據檢索時間:從估計的925秒(同步)到大約2秒(異步)。 但是,瀏覽器和服務器請求限制需要在請求之間延遲150毫秒。

代碼段:異步數據獲取

>

連接PHP和JavaScript

使用wp_localize_script()>集成了PHP端點和JavaScript代碼,無縫將端點URL和其他必要的數據傳遞給JavaScript。

安全:身份驗證和CORS

通過用於API身份驗證和CORS(交叉原始資源共享)標頭的應用程序密碼來解決安全性,以允許從儀表板站點到客戶端站點的跨域請求。 遵循了最少特權的原則,僅限於CORS訪問必要的終點。

代碼段:CORS標頭實現

<?php [...]
function register(\WP_REST_Server $server) {
  $endpoints = $this->get();
  foreach ($endpoints as $endpoint_slug => $endpoint) {
    register_rest_route(
      $endpoint['namespace'],
      $endpoint['route'],
      $endpoint['args']
    );
  }
}
// ... (rest of the endpoint definitions) ...
登入後複製
登入後複製

>數據庫緩存 為了提高性能,使用關係數據庫模型在儀表板站點的自定義數據庫表中緩存數據。 數據庫架構最初是使用DocBlocks設計的,然後在LLM的幫助下進行了完善。

代碼段:數據庫表創建SQL

>

async function getBlogsDetails(blogs) {
  let promises = [];
  blogs.forEach((blog, index) => {
    // ... (code for delayed fetch requests) ...
  });
  // ... (code for Promise.all and error handling) ...
}
登入後複製
結果和未來的考慮

MVP功能性,為博客流量模式提供了寶貴的見解。 未來的改進可能包括使用現代JavaScript框架以及探索無服務器解決方案(例如AWS Lambda),以提高可擴展性和性能。 使用CRON作業進行預取用數據彙編也是一種潛在的增強。

>

>本文提供了開發過程的高級概述。 遇到的具體挑戰和解決方案為使用大規​​模WordPress多元化部署的開發人員提供了寶貴的見解。

以上是WordPress多宗教:一個案例研究的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1673
14
CakePHP 教程
1428
52
Laravel 教程
1333
25
PHP教程
1277
29
C# 教程
1257
24
靜態表單提供商的比較 靜態表單提供商的比較 Apr 16, 2025 am 11:20 AM

讓我們嘗試在這裡造成一個術語:“靜態表單提供商”。你帶上html

使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom 每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom Apr 17, 2025 am 10:55 AM

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

帶有HTML對話框元素的一些動手 帶有HTML對話框元素的一些動手 Apr 16, 2025 am 11:33 AM

這是我第一次查看HTML元素。我已經意識到了一段時間,但是尚未將其旋轉。它很酷,

紙張形式 紙張形式 Apr 16, 2025 am 11:24 AM

購買或建造是技術的經典辯論。自己構建東西可能會感覺更便宜,因為您的信用卡賬單上沒有訂單項,但是

'訂閱播客”鏈接應在哪裡? '訂閱播客”鏈接應在哪裡? Apr 16, 2025 pm 12:04 PM

有一段時間,iTunes是播客中的大狗,因此,如果您將“訂閱播客”鏈接到喜歡:

託管您自己的非JavaScript分析的選項 託管您自己的非JavaScript分析的選項 Apr 15, 2025 am 11:09 AM

有很多分析平台可幫助您跟踪網站上的訪問者和使用數據。也許最著名的是Google Analytics(廣泛使用)

See all articles