當前位置:首頁>WordPress建站>WordPress開發(fā)>如何避免常見的WordPress主題開發(fā)錯誤

如何避免常見的WordPress主題開發(fā)錯誤

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)這些錯誤。

推薦閱讀:

聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學公眾號 WPDAXUE
WordPress開發(fā)

將通知氣泡添加到WordPress管理菜單的3種方法

2019-12-11 11:06:05

WordPress開發(fā)

8個專為開發(fā)者準備的WordPress初始化主題

2020-2-22 9:30:54

4 條回復 A文章作者 M管理員
  1. 云點建站

    很多主題開始都不錯,結(jié)果越搞越臃腫

  2. tyhguan

    現(xiàn)在大學網(wǎng)站裝了哪些wp插件?能安利下嗎?

    • 網(wǎng)站編輯

      不好意思,不打算公開,如果你需要哪方面的插件,可以自己在大學網(wǎng)站搜索下,或者評論細說

?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

习水县| 揭东县| 囊谦县| 阜宁县| 府谷县| 安陆市| 洞头县| 贵定县| 西和县| 祥云县| 绵阳市| 醴陵市| 泸溪县| 玉山县| 太康县| 松溪县| 象山县| 土默特右旗| 汕头市| 鄂尔多斯市| 香格里拉县| 石家庄市| 镶黄旗| 资兴市| 登封市| 宁国市| 十堰市| 突泉县| 上林县| 宝应县| 陇川县| 庄河市| 丽水市| 天气| 盐源县| 泗水县| 和平区| 万盛区| 闵行区| 保山市| 安庆市|