搜尋
首頁CMS教程&#&按使用 Envato WordPress 工具包增強您的主題:庫

使用 Envato WordPress 工具包增强您的主题:库

在本教學的最後一部分中,我們學習如何使用 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 金鑰表單.

雖然這是完全可能做到的,但使用該插件為我們帶來了一些好處:

  1. 在全新主題啟動中,如果先前已安裝 Toolkit 插件,我們的主題將自動檢查更新。
  2. 我們不需要新增一組額外的表單供使用者填寫。
  3. 使用者可以自行更新 Toolkit 插件,因此 Marketplace API 中的變更可以應用於 WordPress 實例,而無需任何主題指導。

結論

就是這樣!我們整合了 Envato WordPress 工具包外掛程式和函式庫來檢查主題更新。現在,一旦市場中有更新可用,我們的客戶就會收到管理員通知。我們所做的最好的事情是他們可以輕鬆執行更新而無需離開管理員。

您可以繼續從文章上方的連結下載完整的原始程式碼。該程式碼還包含本教程前一部分中涵蓋的主題。

由於這是我的第一個教學系列,我非常感謝任何回饋、評論和建議。讓我知道你的想法!

#

以上是使用 Envato WordPress 工具包增強您的主題:庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
我可以在3天內學習WordPress嗎?我可以在3天內學習WordPress嗎?Apr 09, 2025 am 12:16 AM

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

WordPress是CMS嗎?WordPress是CMS嗎?Apr 08, 2025 am 12:02 AM

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

WordPress有什麼用?WordPress有什麼用?Apr 07, 2025 am 12:06 AM

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

我應該使用Wix或WordPress嗎?我應該使用Wix或WordPress嗎?Apr 06, 2025 am 12:11 AM

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

WordPress的成本是多少?WordPress的成本是多少?Apr 05, 2025 am 12:13 AM

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

WordPress仍然免費嗎?WordPress仍然免費嗎?Apr 04, 2025 am 12:06 AM

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

對於初學者來說,WordPress容易嗎?對於初學者來說,WordPress容易嗎?Apr 03, 2025 am 12:02 AM

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

為什麼有人會使用WordPress?為什麼有人會使用WordPress?Apr 02, 2025 pm 02:57 PM

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

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具