性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

编辑WordPress主题的 functions.php 文件的注意事项

Loading
2
沃鹏科技 - 专业的WordPress建站服务平台

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代码应该添加到 <?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 和 ?> 之间,不要再添加 <?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 代码失效,严重的可能会导致网站崩溃。

不要在 <?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>
 
?>

可能有些朋友会说,为什么我看到有些人可以添加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和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 等。

支付宝扫码打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

14 条评论

  1. 你好 博主 我也是不小心修改了functions文件 网站访问不了 我也删除了添加的代码 notepad++改了 utf-8 无bom格式用ftp上传到网站 但是为什么还是不能访问。。。。求解

  2. 这是原版的
    <?php
    // include xiu theme functions file
    include 'functions.xiu.php';

    // custom functions
    我想加WordPress大学的代码
    /**
    * 移除 WordPress 评论的网址URL表单及评论人链接
    * http://www.wpdaxue.com/remove-wordpress-comments-url.html
    */
    //移除网址表单
    function url_filtered($fields)
    {
    if(isset($fields['url']))
    unset($fields['url']);
    return $fields;
    }
    add_filter('comment_form_default_fields', 'url_filtered');

    //移除评论人名字的链接
    function disable_comment_author_links( $author_link ){
    return strip_tags( $author_link );
    }
    add_filter( 'get_comment_author_link', 'disable_comment_author_links' );
    没见到?结束啊,请问这么加倡萌?!

  3. 倡萌,我的网站现在就打不开了 就是因为改了functions.php 这个文件,在线求等 怎么办啊?

    • 使用FTP插件下载functions.php,然后删除你修改出错的代码,将文件另存为 utf-8 无 bom 格式(使用文章介绍的一些专业编辑软件)

  4. 申请转载这篇文章,请回复可否,谢谢。

  5. 现在就是只敢改这个文件,以及header和footer两个。其他真心不敢动。那个混排,其实会出错,我不知道是怎么回事。div后面必须要调用class函数,或者定义新class

  6. 倡萌有言说的太霸气了 恒创貌似挺有名的,我有好几个朋友都用的这个

  7. 一开始出过错,后来学着学着就会了。。

  8. 顶一个,认真学习了,希望有进步。

发表评论