如果您錯過了第1部分和第2部分,請在下面找到它們:
>> WordPress插件樣板第1部分:使用WordPress插件板
>我們需要準備主題,以便以後可以對其進行測試。我們將使用WordPress默認運輸的二十五個主題。我們將使用主題審核團隊提供的主題單元測試數據來填充帖子。
>我們將提供各種選擇,並且由於我們正在導入WordPress導出文件,因此我們將選擇WordPress。根據WordPress的安裝,如果我們沒有安裝WordPress進口商插件,將顯示插件彈出窗口。如果您沒有它,請首先繼續安裝插件,一旦完成後,我們將繼續進行實際的導入過程。
這是默認的WordPress導入頁面,因此我們需要選擇先前下載的theme-unit-test-data.xml,然後單擊“上傳文件和導入”按鈕。
然後將顯示第二個屏幕。不必擔心“分配作者”部分,因為我們可以將其作為默認情況。在“導入附件”部分中,請確保勾選複選框“下載和導入文件附件”,以便將所有外部附件都下載並導入到媒體庫中。現在,我們準備編寫顯示我們通知的代碼。
>
掛接到the_content filter使用the_content過濾器是更改向用戶顯示的帖子內容的完美方法。根據上一個教程,我們將將鉤子添加到樣板類加載器中,唯一的區別是將使用Define_public_hooks方法而不是Define_admin_hooks。
這意味著,我們需要將公共the_content方法實現到我們的OUTED_NOTICE_PUBLIC類中。打開公共/班級淘汰 - notice-public.php並進行相應的修改。
>
有條件修改內容<span>$this->loader->add_action( 'the_content', $plugin_public, 'the_content' );</span>
因為the_content過濾器由各種插件和內部WordPress核心使用,所以我們需要謹慎地將我們的自定義內容插入其中。
>這是oftated_notice_public類中包含的更新的the_content方法。
計算天數
>在開始之前,讓我們設置位置,以使通知顯示為“之前”帖子,而閾值的天數為30。
首先,我們需要檢索插件的存儲設置。 get_option函數將完成這項工作,作為一個安全的度量,我們將將默認值作為第二個參數將其傳遞給get_option。
<span>$this->loader->add_action( 'the_content', $plugin_public, 'the_content' );</span>
>計算當前時間和帖子最後修改時間之間的天數,我們將實例化兩個日期對象。我們可以使用內置在DateTime類中的DIFF方法進行準確的時間差測量。請注意,DateTime類僅在php> = 5.3.0。
<span>public function the_content( $post_content ) { </span> <span>if ( is_main_query() && is_singular('post') ) { </span> <span>// do something </span> <span>} </span> <span>return $post_content; </span> <span>}</span>
>
<span>$position = get_option( 'outdated_notice_position', 'before' ); </span> <span>$days = (int) get_option( 'outdated_notice_day', 0 );</span>
<span>$date_now = new DateTime( current_time('mysql') ); </span> <span>$date_old = new DateTime( get_the_modified_time('Y-m-d H:i:s') ); </span> <span>$date_diff = $date_old->diff( $date_now );</span>
>為了更好地翻譯現成的文本,我們將使用_n函數選擇為選擇適當的文本,這是根據帖子上次更新以來的天數。然後,我們將以自己的div包裝通知文本,以便以後可以對其進行樣式。請隨時將通知文本調整為自己喜歡。
>$通知變量現在應包含我們將插入帖子內容的標記。剩下的唯一要做的就是將其添加。
<span>object(DateInterval)#286 (8) { </span> <span>["y"]=> </span> <span>int(0) </span> <span>["m"]=> </span> <span>int(0) </span> <span>["d"]=> </span> <span>int(12) </span> <span>["h"]=> </span> <span>int(23) </span> <span>["i"]=> </span> <span>int(17) </span> <span>["s"]=> </span> <span>int(22) </span> <span>["invert"]=> </span> <span>int(0) </span> <span>["days"]=> </span> <span>int(12) </span> <span>}</span>
作為回顧,這就是the_content方法outdated_notice_public最終應該看起來。
<span>if ( $date_diff->days > $days ) { </span> <span>$class = 'is-outdated'; </span> <span>} else { </span> <span>$class = 'is-fresh'; </span> <span>}</span>
>嘗試瀏覽幾頁,以查看我們的插件是否按預期工作。這是我在瀏覽url
<span>// Filter the text </span> <span>$notice = sprintf( </span> <span>_n( </span> <span>'This post was last updated %s day ago.', </span> <span>'This post was last updated %s days ago.', </span> <span>$date_diff->days, </span> <span>'outdated-notice' </span> <span>), </span> <span>$date_diff->days </span> <span>); </span> <span>// Add the class </span> <span>$notice = '<div >' . $notice . '</div>'; </span> <span>$notice = sprintf( $notice, $class );</span>
造型通知文本
>我們還需要兩種不同的樣式來表示後循環,這是.is fresh的一種樣式,另一種是以上的。這個片段應該可以解決問題,為我們提供了一個不錯的綠色配色方案,用於新的帖子,紅色配色方案用於過時的帖子。
<span>if ( 'after' == $position ) { </span> <span>$post_content .= $notice; </span> <span>} else { </span> <span>$post_content = $notice . $post_content; </span> <span>}</span>
> 改進
您需要首先從其GitHub存儲庫下載它。下載後,您可以重命名樣板目錄和文件以匹配插件的細節。樣板的代碼被充分評估,引導您將自定義代碼放置在哪裡。請記住要更新主插件文件中的插件標頭以反映您的插件的詳細信息。 > wordpress插件樣板的結構是什麼? 插件的功能,通常會在“ Include”目錄中為該功能創建一個新類。此類應定義您的功能需要運行的所有掛鉤。然後,在主插件類中實例化此類,並將其添加到“運行”功能中。這種模塊化方法使您可以輕鬆地添加,刪除或修改插件中的功能。 >如何使用WordPress插件樣板國際化插件?目錄。此類將加載插件的文本域,從而將其翻譯成其他語言。您只需要用插件的文本域替換樣板中的佔位符文本域。 > WordPress Plugin Bobilin Boblein包含一個UnInstall.php文件,該文件在從WordPress儀表板上卸載時運行時運行。該文件應包含任何清理代碼,例如刪除插件選項或數據庫表。這樣可以確保您的插件被卸載後不會留下任何痕跡。
就是這樣!現在,我們基於WordPress插件樣板開發了功能齊全的插件。
>根據我們到目前為止所做的事情,可以改進各種事情。其中包括:
>刪除過時的notice-public.js腳本的起點。
> WordPress插件樣板是什麼,為什麼重要?它提供了一個易於理解和使用的清晰一致的結構,尤其是對於WordPress插件開發的新開發人員而言。這很重要,因為它通過提供一個可靠的起點來節省時間和精力,從而減少了從頭開始編寫常見代碼的需求。它還促進了插件的編碼,增強性能,安全性和可維護性的最佳實踐。 >我如何開始使用WordPress插件樣板? >我可以使用WordPress插件樣板用於商業項目嗎?
是的,WordPress plubin Boilerplate是開源的並在GPL下獲得許可,這意味著您可以將其用於個人和商業項目。但是,最好在插件的文檔或積分中確認樣板。
>我如何為WordPress插件樣板項目做出貢獻?
如何使用WordPress插件樣板處理插件選項? “管理”目錄中的處理插件選項。此類包括用於註冊設置,定義部分和字段以及渲染設置頁面的功能。您可以擴展此類以處理插件的特定選項。
如何使用WordPress插入式樣板?
用於在“管理員”和“公共”目錄中製定腳本和样式。這些課程包括用於註冊和啟動您的腳本和样式的功能,確保它們在正確的位置和正確的時間加載。
>>如何使用WordPress插件樣板清潔插件?
以上是WordPress插件樣板第3部分:最後一步的詳細內容。更多資訊請關注PHP中文網其他相關文章!