如何自定義 WordPress 插件

已發表: 2021-01-15

WordPress 插件是改進網站功能的完美工具。 雖然,有時它們不能完全按照您的要求執行。 所以。 開發人員自定義和擴展插件以滿足他們的需求是很常見的。

在本文中,我們將介紹如何對網站上的插件進行任何自定義的幾種方法。

選擇合適的插件進行自定義

您不能 100% 確定您將在安裝後修改插件。 但是,如果您正在考慮擴展其功能,那麼選擇正確的插件是值得研究的。

你應該注意什麼:

  • 作者正在積極維護好插件;
  • 擁有與其利基市場相關的用戶群;
  • 有修復錯誤和積極支持的記錄;
  • 提供您需要的特性和功能。

這些不是唯一的要求。 如果插件有一個鉤子庫,可以讓您更輕鬆地擴展功能,那將是一個好處。

為什麼需要定制?

WordPress 插件是為您的網站添加功能的軟件。 通常,插件適用於廣泛的平台,大多數WordPress 主題,但它們的功能可能無法滿足您的某些特定需求。 這就是為什麼您總是可以轉向定制並擴展特定軟件的功能。

WordPress插件很靈活,可以輕鬆修改。 定制將節省您的時間,同時您可以繼續使用自己喜歡的軟件,而不必從頭開始構建自己的解決方案。 使用第三方插件的核心功能,並擴展它以滿足您的需求。




與插件開發人員合作

對插件輸出應用一些更改的最簡單方法可能是與插件作者聯繫。

最大的 WordPress 插件目錄是wordpress.org 所有開發人員都在那里分享他們的聯繫信息。 其中一些對評論、建議和合作持開放態度。

如果他們對合作感興趣,您可以向他們發送包含您建議更改的補丁。 如果這是他們正在考慮添加的內容,您可以期待下一次更新的更改或在此之前獲得幫助。



使用自定義掛鉤

下一個進行定制的方法是使用鉤子。 那些是什麼?

鉤子呈現一段代碼,您可以在特定位置與另一段代碼進行交互和修改。

Hooks 是插件如何與 WordPress 核心交互的基礎。 Hooks 分為兩種類型:Actions 和 Filters。

為了使用其中一個,您需要編寫一個回調——一個自定義函數。 之後,將其註冊到 WordPress 鉤子以獲取特定的過濾器或操作。

動作和過濾器有什麼區別? 操作添加數據或更改 WordPress 的操作方式。 Actions 的回調函數在 WordPress 執行過程中運行,可以執行一些任務。 操作不會將任何內容返回給調用鉤子。

過濾器允許您在 WordPress 執行期間更改數據。 過濾器的回調函數將接受一個變量,修改它,然後返回它。 它們獨立工作,從不影響全局變量和輸出。

簡而言之,動作和鉤子之間的主要區別如下:

該操作接受它接收到的信息,執行任務,並且不返回任何內容給調用鉤子。 過濾器接受它接收到的信息,修改它,然後返回它。 換句話說:它過濾某些東西並將其傳遞回鉤子以供進一步使用。

您可以在 WordPress 中使用許多鉤子。 如果您使用的插件包含自定義鉤子,您將能夠擴展它。 此外,您可以創建自己的。

讓我們看一下使用自定義鉤子的例子。

我們將向 WooCommerce 購物車頁面添加信用卡徽標。



通過操作“woocommerce_after_cart_totals”,您可以輕鬆地在購物車總計區域下添加內容。 使用 FontAwesome 圖標顯示信用卡徽標。 在徽標下,我們可以添加一些文字來指示可以使用哪些信用卡。 您可以自定義內容的外觀。

當您需要將內容添加到特定位置時,這些簡單的操作非常有用。

一些開發人員不在他們的插件中包含自定義鉤子。 在這種情況下,您可以覆蓋回調添加自定義掛鉤

添加自定義掛鉤

您可以將更改直接放入插件中,只需添加您需要的自定義掛鉤即可。 然後,您需要將其餘功能放在單獨的插件中。

接下來,您必須聯繫開發人員並將補丁提交給他們,要求他們包含下一次更新所需的自定義掛鉤。 如果您很幸運,並且他們這樣做了,您可以升級並確保您的插件能夠與他們的插件順利交互。

如果他們拒絕這樣做,您仍然可以通過手動將自定義掛鉤修補到每個新版本中來進行升級。



覆蓋回調

改變 WordPress 插件功能的另一種方法是覆蓋回調。 這種方法有助於改變插件與平台交互的方式。 添加自定義回調時,您正在創建希望在插件中看到的功能。

插件通過註冊核心鉤子的回調函數與 WordPress 集成。 您可以刪除回調並將其替換為您自己的。 在你的回調中,你應該從其他插件調用函數,這樣你就可以重新創建你需要的功能。

建議成熟的開發人員使用此選項



更改插件輸出

在某些情況下,最好的選擇是更改插件默認輸出。

該插件與您的網站無關

有時,插件使用的術語不適合您的網站。 例如,WooCommerce 的術語“產品”可能不完全適合您平台的主題,因此您想要更改它。

您可以通過使用 gettext 過濾器來做到這一點。 您將能夠將“產品”一詞更改為任何合適的類似術語。

示例:更改文本字符串(將產品更改為訂單)

在這裡,我們試圖將“產品”一詞的任何實例更改為“訂單”。 'gettext' 和 'gettext' 過濾器用於執行此操作。 $translated 行包含我們要替換的文本(產品)和我們要替換它的文本(訂單)。

在特殊情況下更改或添加數據

在 WooCommerce 的示例中,我們可以嘗試另一種方法來針對某些特殊情況添加或更改數據。

例如,我們需要向特定類別中的所有產品顯示一些信息。 為了不手動將此信息添加到每個產品,我們將添加一個全局更改。

我們應該怎麼做? 通過結合 is_product() WooCommerce 函數和 has_term() WordPress 函數,我們將產品定位在特定類別中,這允許我們添加重要信息。

< ?php

自定義 WordPress 插件時不應該做什麼

有時更改插件的功能可能是一項艱鉅的任務,並且可能會犯錯誤。 常見問題包括在流程開始之前備份您的網站失敗,或者更改插件的代碼而不將原始代碼保存到另一個位置。

幸運的是,大多數錯誤都可以避免。

首先,您應該始終保存插件的原始代碼,以備不時之需。 還要經常保存您對插件所做的更改的副本,同時仍保持原始代碼不變。 因此,如果出現任何問題,您可以確保您的工作得到保存。

此外,在自定義 WordPress 插件或編寫自己的插件時,最好使用暫存環境。 這將確保您的實時網站的功能不受影響。

插件是使您的 WordPress 網站完美的絕佳工具。 不幸的是,您可能會面臨一些限制。 但是,可以通過自定義輕鬆修改這些限制。

即使是沒有經驗的開發人員也可以應用上述所有方法。 嘗試通過擴展任何插件的功能來改進您的網站。