WordPress以其難以置信的靈活性而著稱,尤其是在主題和插件開發(fā)方面。如果您想查看證明,只需詢問一組開發(fā)人員他們將如何實現(xiàn)特定功能。您可能會收到幾種不同的方法來實現(xiàn)相同的結(jié)果。
但是,有了這種靈活性,現(xiàn)實就是很容易以“錯誤”的方式做事。“錯誤”意味著無法持續(xù)進行某些操作或效率低下。盡管從功能上講可能會起作用,但通常有更好的方法來完成任務(wù)。
作為剛開始接觸WordPress主題或插件開發(fā)的人來說,通常都無可避免的會犯一些比較常見的錯誤,今天我們就來簡單說一下。

5個常見的WordPress主題開發(fā)錯誤
讓我們看一下主題開發(fā)中發(fā)現(xiàn)的五個最常見的錯誤,以及可以避免您以后頭痛的替代方法。
1.在模板中使用絕對網(wǎng)址
如果您曾經(jīng)看過WordPress頁面或文章產(chǎn)生的HTML代碼,則會注意到圖片和內(nèi)部鏈接都使用絕對(完整)網(wǎng)址。但這不是將代碼添加到主題模板時完成工作的最佳方法。
舉例來說,假設(shè)您正在開發(fā)使用臨時網(wǎng)址的網(wǎng)站。模板中的使用絕對網(wǎng)址意味著當您準備在其永久域上啟動網(wǎng)站時,必須手動更改代碼。盡管可以做到這一點,卻很容易忘記這種類型的代碼存在的所有地方。
WordPress有內(nèi)置的方法來確定正確的網(wǎng)址 –從儀表板區(qū)域中 設(shè)置 > 常規(guī)直接獲取。
對于鏈接,輸出esc_url( home_url() )將提供指向主頁的完整路徑。因此,您可以像下面這樣向您的主頁添加一個簡單的鏈接,而不是將位置明確地添加在代碼中:
<a href="<?php echo esc_url( home_url() ); ?>" />首頁</a>
此外,您還可以使用它來指向其他頁面。例如,如果我們想鏈接到網(wǎng)站的“關(guān)于我們”頁面,則可以使用以下代碼:
<a href="<?php echo esc_url( home_url() ); ?>/about-us/" />關(guān)于我們</a>
類似的代碼段也適用于圖片。本示例從激活的主題的/images/子文件夾中提取圖片:
<img src="<?php echo esc_url( get_stylesheet_directory_uri() ) ; ?>/images/hello.png" />
2.將腳本和樣式直接添加到模板
在WordPress中使用第三方腳本和樣式是非常多的。剛開始構(gòu)建主題時,您可能會想直接放置<script>或<style>標記,甚至將Google字體直接嵌入代碼到主題頁眉中。通常,這是靜態(tài)HTML網(wǎng)站完成操作的方式,因此在此處執(zhí)行相同操作是很有意義的。
但是,就像WordPress中的所有其他內(nèi)容一樣,還有更好的方法來解決它。我們應(yīng)該利用wp_enqueue_script()和 wp_enqueue_style()–將腳本和樣式表添加到適合您的正確位置的優(yōu)勢。由于從主題functions.php文件中調(diào)用了所有內(nèi)容,因此這也使腳本管理變得容易得多。
你可以參考下面的相關(guān)教程:
3.調(diào)用jQuery的外部實例
在相關(guān)說明中,WordPress的一個隱藏秘訣是它已經(jīng)包含jQuery的副本以及幾種流行的UI功能。因此,您不需要安裝jQuery或遠程調(diào)用它。
唯一的問題是您必須通過主題functions.php文件專門啟用要使用的項目。雖然這創(chuàng)造了一些學習曲線,但也減少了項目的文件。
而且,實現(xiàn)所需的jQuery UI元素并不是不是太困難。例如,要啟用jQuery UI選項卡,只需將以下代碼段添加到您的functions.php:
function my_jquery_elements() {
wp_enqueue_script( 'jquery-ui-tabs', array('jquery'));
add_action( 'template_redirect', my_jquery_elements ', 10 );
這告訴WordPress從其現(xiàn)有庫中加載元素。
4.過度定制
添加自定義字段和自定義文章類型的功能可以使開發(fā)人員和網(wǎng)站內(nèi)容編輯者的生活變得更加輕松。它們提供了便利,更好的內(nèi)容組織和更直觀的用戶體驗。但是有時候我們走得太遠了。
例如,我非常喜歡自定義字段。但是即使我也承認,有時候我已經(jīng)將主題定制為缺乏靈活性。字段非常適合需要確切知道需要輸入哪些內(nèi)容的設(shè)置,例如員工資料的字段。
但是,當有人要添加的內(nèi)容類型不一致時,它可能會變得混亂。
對于這種類型的定制,沒有硬性規(guī)定。我們唯一能做的就是最好地判斷應(yīng)該定制哪些內(nèi)容,以及哪些內(nèi)容可以更好地留給WordPress內(nèi)容編輯器甚至是一個小插件。當我們確實添加字段或文章類型時,只要知道事情可能會發(fā)生變化,并嘗試在此基礎(chǔ)上進行構(gòu)建即可。
國內(nèi)的一些WordPress主題,往往捆綁了一大堆功能,恨不得一個主題就解決了所有問題和實現(xiàn)所有功能。其實這是非常不可取的,建議主題只作為一個基礎(chǔ)的能滿足普通用戶的版本,而將一些相對獨立的功能抽離作為插件進行補充,這也是國外很多主題開發(fā)商和銷售平臺,甚至WordPress官方建議的。
5.未添加代碼注釋
我將在這里再次承認:代碼注釋不是我的強項之一。這并不是說我根本不使用注釋,而是更多的是它們不是很清晰。通常,我會指出特定項目的開頭和結(jié)尾,而在兩者之間沒有太多的注解。我應(yīng)該做更多嗎?是的。
注釋很重要,因為它至少在代碼內(nèi)提供了一些參考點。在瀏覽包含多個內(nèi)容的PHP或JS文件時,您將想知道在哪里可以找到特定項目。
即使您是唯一會編輯該代碼的人,也強烈建議使用注釋。例如,如果您需要在六個月后進行更改,那么您不太可能會想起放置代碼段的確切位置。
因此,我不會成為一個虛偽的偽君子,并懇請您對所有事情進行深度注釋。但是我要說的是,即使是最小的努力,這也可以使您或其他必須精疲力盡的工作的開發(fā)人員將來的維護變得更加容易。

不斷提高自己的技術(shù)
建立自己的WordPress主題是很棒的體驗。但是,確實需要一些實踐來了解創(chuàng)建主題的良好細節(jié),正確編碼利于維護。
可以說,基本上所有的WordPress主題開發(fā)者,在最初的時候都會犯過這些錯誤,但是隨著時間的推移,我們應(yīng)該不斷提高自己的技術(shù),盡量去避免再次出現(xiàn)這些錯誤。
推薦閱讀:





很多主題開始都不錯,結(jié)果越搞越臃腫
現(xiàn)在大學網(wǎng)站裝了哪些wp插件?能安利下嗎?
不好意思,不打算公開,如果你需要哪方面的插件,可以自己在大學網(wǎng)站搜索下,或者評論細說
插件每個網(wǎng)站又不一樣,公開了也沒用。