編輯WordPress主題的 functions.php 文件的註意事項

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語法,這種寫法是合法的。

註意字符轉義

網絡上很多代碼由於沒有使用代碼高亮外掛,可能會導致代碼中的某些字符發生轉義,或其他錯誤。比如:

半角符號變成全角符號:引號、逗號、句號、冒號、括號、分號等

常見的轉義:< 變成 &lt;> 變成 &gt;& 變成 &amp;

註意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 等。

發佈留言