在本教學的最後一部分中,我們學習如何使用 TGM 外掛程式啟動類別來在任何時候都需要 Envato WordPress 工具包外掛程式我們的主題正在使用中。該外掛程式允許用戶在管理員中安裝和更新購買的主題。
下一部分將教您如何實作 Envato WordPress 工具包庫,以便我們可以使用 Envato Marketplace API 定期檢查我們的主題何時有可用更新。
當有更新可用時,我們會在管理員中顯示通知,並引導使用者存取外掛程式進行更新。
1. 包含工具包庫
我們首先需要將工具包庫包含在我們的專案中。下載 Envato WordPress 工具包庫 ZIP 檔案。解壓縮並將資料夾 envato-wordpress-toolkit-library 複製到主題中的 inc 資料夾中。您最終應該得到這些路徑:
- mytheme/inc/envato-wordpress-toolkit-library/class-envato-protected-api.php
- mytheme/inc/envato-wordpress-toolkit-library/class-envato-wordpress-theme-upgrader.php
#注意:您可以更改上述文件的位置以滿足您的需求。或者,您可以從本文頂部的下載連結下載完整原始碼。
2. 管理員掛鉤函數
現在我們可以開始編碼了。我們將掛鉤 admin_init
操作。將以下程式碼加入您的 functions.php 中:
/** * Load the Envato WordPress Toolkit Library check for updates * and direct the user to the Toolkit Plugin if there is one */ function envato_toolkit_admin_init() { // Include the Toolkit Library include_once( get_template_directory() . '/inc/envato-wordpress-toolkit-library/class-envato-wordpress-theme-upgrader.php' ); // Add further code here } add_action( 'admin_init', 'envato_toolkit_admin_init' );
3. 使用工具包外掛程式資訊
工具包庫需要 Envato 使用者名稱和 API 金鑰才能運作。由於我們在上一個教程中需要 Toolkit 插件,因此我們可以使用在其設定中找到的使用者名稱和 API 金鑰欄位的輸入值。如果這些欄位未填寫,我們可以顯示一則通知,要求使用者在 Toolkit 外掛程式中輸入它們。
// Use credentials used in toolkit plugin so that we don't have to show our own forms anymore $credentials = get_option( 'envato-wordpress-toolkit' ); if ( empty( $credentials['user_name'] ) || empty( $credentials['api_key'] ) ) { add_action( 'admin_notices', 'envato_toolkit_credentials_admin_notices' ); return; }
我們需要在外部新增對應的鉤子函數來顯示我們的管理通知:
/** * Display a notice in the admin to remind the user to enter their credentials */ function envato_toolkit_credentials_admin_notices() { $message = sprintf( __( "To enable theme update notifications, please enter your Envato Marketplace credentials in the %s", "default" ), "<a href='" . admin_url() . "admin.php?page=envato-wordpress-toolkit'>Envato WordPress Toolkit Plugin</a>" ); echo "<div id='message' class='updated below-h2'><p>{$message}</p></div>"; }
4.定期更新檢查
工具包庫始終使用 Envato Marketplace API 檢查主題更新。這並不好,因為每次使用者造訪管理頁面時都執行它會顯著減慢頁面載入時間。我們只需要定期檢查更新。
每 3 小時檢查一次聽起來是個好主意:
// Check updates only after a while $lastCheck = get_option( 'toolkit-last-toolkit-check' ); if ( false === $lastCheck ) { update_option( 'toolkit-last-toolkit-check', time() ); return; } // Check for an update every 3 hours if ( 10800 < ( time() - $lastCheck ) ) { return; } // Update the time we last checked update_option( 'toolkit-last-toolkit-check', time() );
5. 檢查更新
最後,我們可以使用該函式庫檢查更新:
// Check for updates $upgrader = new Envato_WordPress_Theme_Upgrader( $credentials['user_name'], $credentials['api_key'] ); $updates = $upgrader->check_for_theme_update(); // If $updates->updated_themes_count == true then we have an update!
6.主題更新通知
從這一刻起,您可以選擇使用工具包庫函數 $upgrader->upgrade_theme();
自動更新主題,但是,我相信給用戶一個選擇通常是一個好主意。
我的建議是只顯示主題更新的通知,並允許用戶使用 Toolkit 外掛程式進行更新:
// Add update alert, to update the theme if ( $updates->updated_themes_count ) { add_action( 'admin_notices', 'envato_toolkit_admin_notices' ); }
我們需要在目前函數之外顯示顯示通知的函數:
/** * Display a notice in the admin that an update is available */ function envato_toolkit_admin_notices() { $message = sprintf( __( "An update to the theme is available! Head over to %s to update it now.", "default" ), "<a href='" . admin_url() . "admin.php?page=envato-wordpress-toolkit'>Envato WordPress Toolkit Plugin</a>" ); echo "<div id='message' class='updated below-h2'><p>{$message}</p></div>"; }
為什麼要先使用該外掛?
您可能認為也可以只使用 Toolkit 函式庫而不使用 Toolkit 外掛程式,然後也許只在主題選項中顯示我們自己的使用者名稱和 API 金鑰表單.
雖然這是完全可能做到的,但使用該插件為我們帶來了一些好處:
- 在全新主題啟動中,如果先前已安裝 Toolkit 插件,我們的主題將自動檢查更新。
- 我們不需要新增一組額外的表單供使用者填寫。
- 使用者可以自行更新 Toolkit 插件,因此 Marketplace API 中的變更可以應用於 WordPress 實例,而無需任何主題指導。
結論
就是這樣!我們整合了 Envato WordPress 工具包外掛程式和函式庫來檢查主題更新。現在,一旦市場中有更新可用,我們的客戶就會收到管理員通知。我們所做的最好的事情是他們可以輕鬆執行更新而無需離開管理員。
您可以繼續從文章上方的連結下載完整的原始程式碼。該程式碼還包含本教程前一部分中涵蓋的主題。
由於這是我的第一個教學系列,我非常感謝任何回饋、評論和建議。讓我知道你的想法!
以上是使用 Envato WordPress 工具包增強您的主題:庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

能在三天內學會WordPress。 1.掌握基礎知識,如主題、插件等。 2.理解核心功能,包括安裝和工作原理。 3.通過示例學習基本和高級用法。 4.了解調試技巧和性能優化建議。

WordPress是內容管理系統(CMS)。它提供內容管理、用戶管理、主題和插件功能,支持創建和管理網站內容。其工作原理包括數據庫管理、模板系統和插件架構,適用於從博客到企業網站的各種需求。

wordpressgood forvortalyanewebprojectDuetoItsAsatilityAsacms.itexcelsin:1)用戶友好性,允許Aeserywebsitesetup; 2)sexibility andcustomized andcustomization and numerthemesandplugins; 3)seoop timigimization; and4)and4)

Wix適合沒有編程經驗的用戶,WordPress適合希望有更多控制和擴展能力的用戶。 1)Wix提供拖放式編輯器和豐富模板,易於快速搭建網站。 2)WordPress作為開源CMS,擁有龐大社區和插件生態,支持深度自定義和擴展。

WordPress本身免費,但使用需額外費用:1.WordPress.com提供從免費到付費的套餐,價格從每月幾美元到幾十美元不等;2.WordPress.org需購買域名(每年10-20美元)和託管服務(每月5-50美元);3.插件和主題多數免費,付費的價格在幾十到幾百美元之間;通過選擇合適的託管服務、合理使用插件和主題、定期維護和優化,可以有效控制和優化WordPress的成本。

WordPress核心版本是免費的,但使用過程中可能產生其他費用。 1.域名和託管服務需要付費。 2.高級主題和插件可能需要付費。 3.專業服務和高級功能可能需要付費。

WordPress對初學者來說容易上手。 1.登錄後台後,用戶界面直觀,簡潔的儀表板提供所有必要功能鏈接。 2.基本操作包括創建和編輯內容,所見即所得的編輯器簡化了內容創建。 3.初學者可以通過插件和主題擴展網站功能,學習曲線存在但可以通過實踐掌握。

人們選擇使用WordPress是因為其強大和靈活性。 1)WordPress是一個開源的CMS,易用性和可擴展性強,適合各種網站需求。 2)它有豐富的主題和插件,生態系統龐大,社區支持強大。 3)WordPress的工作原理基於主題、插件和核心功能,使用PHP和MySQL處理數據,支持性能優化。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

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

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

WebStorm Mac版
好用的JavaScript開發工具