首頁 > 後端開發 > php教程 > 在WordPress中添加自定義掛鉤:自定義過濾器

在WordPress中添加自定義掛鉤:自定義過濾器

William Shakespeare
發布: 2025-03-01 09:40:13
原創
895 人瀏覽過

在這個兩部分的系列中,我們正在看WordPress掛鉤系統。具體來說,我們正在仔細研究動作和過濾器及其在WordPress開發中所扮演的角色。

>

儘管它們都被定義為鉤子,但每個都在WordPress開發中起著特定的作用。而且,如果您想成為一個更具成就的WordPress開發人員,那麼重要的是要不僅了解它們之間的區別,還要了解如何實現自定義掛鉤。

在該系列的第一篇文章中,我們定義了鉤子的使用方式,也可以看到它們在其他地方的使用方式,還可以審查包括如何定義我們自己的動作。如果您尚未抓到第一篇文章,我強烈建議您在使用本教程之前閱讀。

>

>在開始掛鉤之前,我將對上一篇文章中討論的內容進行快速的複活,然後將從那裡開始。事件驅動的設計模式。特別是,我們將其定義為以下內容:

該軟件具有某些點,它傳播了一條事件發生的消息。 >

>我們作為開發人員,能夠編寫聆聽此消息的代碼,然後用自定義代碼響應它。

>

,然後在整個內容中進行了驗證,我們將在該模式中進行了驗證。我們討論瞭如何利用它,然後討論瞭如何實施自己的行動。

>

>我們也認識到一個微妙的區別:
>>
>動作旨在使用功能,過濾器的旨在使用數據。顯示在屏幕上。在本教程中,我們將研究如何在將數據寫入屏幕之前使用過濾器,例如如何降低文本。從上一篇文章中回顧了開始

>>>

>我們本地開發環境應包含以下內容:

wordpress 6.0.1.1

>您的首選IDE

  • php
  • MySQL可以輕鬆安裝。如果您更高級,則可能會使用諸如NGINX和替代數據庫之類的東西。如果是這樣的話,那很好,但是出於本教程的目的,我假設您有前者。
  • >如果您沒有設置任何設置,則不用擔心:我們已經覆蓋了您。鏈接的教程將為您提供與本地計算機上WordPress一起使用WordPress的一切所需的一切。

    >

    設置後,我們將準備繼續進行。

    >

    >理解WordPress Filters

    wordpress代碼參考為那些希望了解所有有關文件的人提供全面的資源。正如我們已經說過的,它將過濾器定義為以下內容:

    自定義過濾器不同於自定義操作,因為自定義操作允許您從現有操作中添加或刪除代碼。儘管自定義過濾器允許您替換現有操作中的特定數據(例如變量)。

    >,但是如果您正在尋找WordPress中可用過濾器的整個列表,則請確保在codex中引用此頁面。它具有大約20秒的過濾器,其中許多鏈接到其自己的文檔頁面。

    >

    這意味著如果您很好奇是否存在特定的過濾器,則可以參考此頁面。同樣,您可以訪問該特定過濾器的頁面,以查看參數的參數,示例函數定義以及如何使用它。

    >

    >關於優先級和參數的一句話

    >

    >

    >在我們進一步發展之前,我想確保我們在同一頁面上介紹我們在同一頁面上介紹的是什麼,我們會涉及到nove

    <?php<br>add_filter( 'author_edit_pre', 'filter_function_name', 10, 2 );<br>
    登入後複製
    登入後複製

    >這告訴我們四件事:

    1. >我們正在掛接的過濾器名稱
    2. >
    3. >應稱為
    4. 的功能的名稱,應調用函數的優先級。前兩個點很快被理解。但是,其他兩個可以絆倒新的開發人員,但這並不是一個很難理解的概念。請記住,由於給定的掛鉤可以具有與之關聯的多個功能,因此優先級可以定義調用功能的時間或多晚。數字越低,開火越早;數字越高,較晚的射擊。
    秒,該數字指示參數採用多少參數。如果您沒有指定一個數字,則它將不接受或任何默認參數。如果您想傳遞的數量與預期的數量不同,那麼您將指定該參數應接受的參數。我們將在教程稍後更詳細地查看。

    >

    >使用過濾器

    開始使用過濾器,讓我們繼續以二十三個目錄的詞根創建自己的文件。我們將調用文件the_content濾鏡。然後,我們將使用apply_filters

    >這是我們開始對str_replace()函數感興趣的地方。但是,我們需要更改過濾器在WordPress註冊的方式,然後我們需要確保在WordPress上註冊的函數正確調用 Apply_filters <cod> <code>apply_filters

    。單獨調用全部:

    上述過濾器的輸出將看起來像下面的圖:

    <?php<br>add_filter( 'author_edit_pre', 'filter_function_name', 10, 2 );<br>
    登入後複製
    登入後複製

    >,然後這就是您可以從初始掛鉤中調用它的方式。 在WordPress中添加自定義掛鉤:自定義過濾器>

    >

    將它們全部調用

    apply_filters

    <?php<br><br>add_filter( 'tutsplus_replace_country', 'tutsplus_replace_country_callback', 10, 1 );<br>function tutsplus_replace_country_callback( $content ) {<br>    return str_replace( 'Canada', 'U.S.', $content );<br>}<br><br>add_filter( 'the_content', 'tutsplus_the_content' );<br>function tutsplus_the_content( $content ) {<br><br>    // Proceed with this function only if we are viewing a particular post.<br>    if ( is_single() && get_the_ID() == 66) {<br>		return apply_filters( 'tutsplus_replace_country', $content );<br>	} else {<br>        return $content;<br>    }<br>}<br>
    登入後複製

    >請注意,這可以實現以前情況的合併結果,但是通過將它們凝結成單一的代碼來實現。還可以通過其他方式來編寫,但是本教程的目的是教育您如何編寫自己的過濾器以及如何在您的工作中利用 apply_filters<code>apply_filters。在整個系列中,我們都審查瞭如何利用現有的動作和過濾器,以及如何創建和實施我們自己的。

    掛鉤系統是WordPress對於開發人員的最強大方面之一,因此熟悉它很重要。這樣一來,您不僅能夠操縱WordPress提供的行為和數據,而且您還能夠定義其他開發人員可以在其整個代碼中使用的掛鉤。

    >本文已通過Nitish Kumar的貢獻進行了更新。 Nitish是一家網絡開發人員,在各種平台上創建電子商務網站方面具有經驗。他花時間在個人項目上工作,這些項​​目使他的日常生活更輕鬆或與朋友一起度過漫長的夜間散步。

以上是在WordPress中添加自定義掛鉤:自定義過濾器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板