WordPress以其難以置信的靈活性而著稱,尤其是在主題和插件開發(fā)方面。如果您想查看證明,只需詢問一組開發(fā)人員他們將如何實(shí)現(xiàn)特定功能。
您可能會(huì)收到幾種不同的方法來實(shí)現(xiàn)相同的結(jié)果。但是,有了這種靈活性,現(xiàn)實(shí)就是很容易以“錯(cuò)誤”的方式做事?!板e(cuò)誤”意味著無法持續(xù)進(jìn)行某些操作或效率低下。盡管從功能上講可能會(huì)起作用,但通常有更好的方法來完成任務(wù)。
作為剛開始接觸WordPress主題或插件開發(fā)的人來說,通常都無可避免的會(huì)犯一些比較常見的錯(cuò)誤,今天我們就來簡單說一下。
1.在模板中使用絕對(duì)網(wǎng)址
如果您曾經(jīng)看過WordPress頁面或文章產(chǎn)生的HTML代碼,則會(huì)注意到圖片和內(nèi)部鏈接都使用絕對(duì)(完整)網(wǎng)址。但這不是將代碼添加到主題模板時(shí)完成工作的最佳方法。
舉例來說,假設(shè)您正在開發(fā)使用臨時(shí)網(wǎng)址的網(wǎng)站。模板中的使用絕對(duì)網(wǎng)址意味著當(dāng)您準(zhǔn)備在其永久域上啟動(dòng)網(wǎng)站時(shí),必須手動(dòng)更改代碼。盡管可以做到這一點(diǎn),卻很容易忘記這種類型的代碼存在的所有地方。
WordPress有內(nèi)置的方法來確定正確的網(wǎng)址 –從儀表板區(qū)域中 設(shè)置 > 常規(guī)直接獲取。
對(duì)于鏈接,輸出esc_url( home_url() )將提供指向主頁的完整路徑。因此,您可以像下面這樣向您的主頁添加一個(gè)簡單的鏈接,而不是將位置明確地添加在代碼中:
<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)建主題時(shí),您可能會(huì)想直接放置<script>或<style>標(biāo)記,甚至將Google字體直接嵌入代碼到主題頁眉中。通常,這是靜態(tài)HTML網(wǎng)站完成操作的方式,因此在此處執(zhí)行相同操作是很有意義的。但是,就像WordPress中的所有其他內(nèi)容一樣,還有更好的方法來解決它。我們應(yīng)該利用wp_enqueue_script()和 wp_enqueue_style()–將腳本和樣式表添加到適合您的正確位置的優(yōu)勢(shì)。由于從主題functions.php文件中調(diào)用了所有內(nèi)容,因此這也使腳本管理變得容易得多。
3.調(diào)用jQuery的外部實(shí)例
在相關(guān)說明中,WordPress的一個(gè)隱藏秘訣是它已經(jīng)包含jQuery的副本以及幾種流行的UI功能。因此,您不需要安裝jQuery或遠(yuǎn)程調(diào)用它。唯一的問題是您必須通過主題functions.php文件專門啟用要使用的項(xiàng)目。雖然這創(chuàng)造了一些學(xué)習(xí)曲線,但也減少了項(xiàng)目的文件。而且,實(shí)現(xiàn)所需的jQuery UI元素并不是不是太困難。例如,要啟用jQuery UI選項(xiàng)卡,只需將以下代碼段添加到您的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)容組織和更直觀的用戶體驗(yàn)。對(duì)于這種類型的定制,沒有硬性規(guī)定。我們唯一能做的就是最好地判斷應(yīng)該定制哪些內(nèi)容,以及哪些內(nèi)容可以更好地留給WordPress內(nèi)容編輯器甚至是一個(gè)小插件。當(dāng)我們確實(shí)添加字段或文章類型時(shí),只要知道事情可能會(huì)發(fā)生變化,并嘗試在此基礎(chǔ)上進(jìn)行構(gòu)建即可。





