WordPress大學 很多教程都提到“將代碼添加到主題的 functions.php 文件”,但總有些新手朋友總是反饋說:如何添加?添加後出錯?添加後網站就不能訪問啦……所以今天就來說說編輯 functions.php 文件應該註意哪些問題。
functions.php 有什麼用
functions.php 是 WordPress 預留的功能函數文件,專門用於添加各種自定義函數代碼。現在的WordPress主題的功能越來越強大瞭,一般都自帶瞭 functions.php 這個文件(通常在主題根目錄)。
php中的註釋
註釋,就是專門用來對代碼進行補充說明的文本,一般分為單行註釋和多行註釋,單行註釋使用兩個斜杠 // ,多行註釋使用 /* */,示例:
1 2 3 4 5 6 7 8 9 10 11 |
<?php /** * 這是多行註釋 * 註釋2行 */ function hello_world() { // 單行註釋 // 再註釋一行 echo "<p>Hello World!</p>"; } ?> |
<?php
/**
* 這是多行註釋
* 註釋2行
*/
function hello_world() {
// 單行註釋
// 再註釋一行
echo "<p>Hello World!</p>";
}
?>
php代碼應該添加到 <?php 和 ?> 之間
打開 functions.php 文件,你會發現,文件開頭一般都是 <?php ,表明這個文件是遵循php代碼規范的,你需要將函數代碼添加到它的裡面,比如:
1 2 3 4 5 6 7 8 9 |
<?php //開始php語法 function hello_world() { echo "<p>Hello World!</p>"; } //結束php語法 ?> |
<?php
//開始php語法 function hello_world() {
echo "<p>Hello World!</p>";
} //結束php語法
?>
避免 <?php 和 ?> 多重嵌套
在 <?php 和 ?> 之間,不要再添加 <?php 和 ?>,如下面的例子就是錯誤的:
1 2 3 4 5 6 7 8 9 10 |
<?php //開始php語法 <?php //錯誤:嵌套啦 function hello_world() { echo "<p>Hello World!</p>"; } ?> |
<?php
//開始php語法 <?php //錯誤:嵌套啦 function hello_world() {
echo "<p>Hello World!</p>";
} ?>
可以看到,第一個 <?php 沒有結束,又嵌套瞭一個 <?php ,這樣的後果就是導致部分 php 代碼失效,嚴重的可能會導致網站崩潰。
不要在 <?php 和 ?> 之間直接添加其他語種代碼
<?php 和 ?> 之間的代碼應該符合php語言規范,你不可以直接在他們之間直接添加其他語種代碼,比如以下幾種錯誤類型:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php //錯誤1:直接添加文本 Hello World! //錯誤2:直接添加html代碼 <div><p>Hello World!</p></div> //錯誤3:直接添加js代碼 <script type="text/javascript"> $(document).ready(function() { $("a.anchorLink").anchorAnimate() }); </script> //錯誤4:直接添加css代碼 <style type="text/css" media="screen"> .textComment{ display: inline; } </style> ?> |
<?php //錯誤1:直接添加文本
Hello World! //錯誤2:直接添加html代碼
<div><p>Hello World!</p></div> //錯誤3:直接添加js代碼
<script type="text/javascript">
$(document).ready(function() {
$("a.anchorLink").anchorAnimate()
});
</script> //錯誤4:直接添加css代碼
<style type="text/css" media="screen">
.textComment{
display: inline;
}
</style> ?>
可能有些朋友會說,為什麼我看到有些人可以添加html代碼?比如下面代碼的第 5 行:
1 2 3 4 5 6 7 8 |
<?php function hello_world() { echo "<p>Hello World!</p>"; ?> <div><p>Hello World!</p></div> <?php } ?> |
<?php
function hello_world() {
echo "<p>Hello World!</p>";
?>
<div><p>Hello World!</p></div>
<?php
}
?>
其實這是php和html混排,Html代碼並沒有直接添加在 <?php 和 ?> 之間,你可以看到 第 4 行結束php語法,第 6 行重新開始 php語法,這種寫法是合法的。
註意字符轉義
網絡上很多代碼由於沒有使用代碼高亮外掛,可能會導致代碼中的某些字符發生轉義,或其他錯誤。比如:
半角符號變成全角符號:引號、逗號、句號、冒號、括號、分號等
常見的轉義:< 變成 < ,> 變成 > ,& 變成 & 等
註意php文件的編碼
WordPress 是使用 utf-8 格式編碼的php程式,utf-8編碼又分為 含BOM 和 無BOM 兩種,由於我們很可能在 php 文件中添加瞭中文,所以建議保存 functions.php 等php文件為 Utf-8 無 BOM 格式。否則,很可能會出現 網站空白、佈局錯亂、出現異常文字 等問題。
使用專業的代碼編輯工具
強烈建議大傢使用專業一點的代碼編輯工具,比如 Notepad++、Sublime Text、EditPlus、DreamWeaver等,使用這類工具的好處:支援代碼高亮、代碼糾錯提示、快捷插入代碼片段、支援選擇編碼類型等等。
特別提示:不要使用微軟自帶的 txt記事本編輯器 來編輯 php 文件!!很可能會導致代碼錯誤、編碼錯誤等問題!!很多 FTP軟件默認也是調用 txt記事本編輯器的 ,需要註意。
最後,建議大傢學習一下 php編程入門,至少簡單瞭解一下基本的語句用法,比如 if、echo 等。