当前位置:首页>WordPress建站>新手入门>编辑WordPress主题的 functions.php 文件的注意事项

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

WordPress 主题 CoreNext

WordPress大学 很多教程都提到“将代码添加到主题的 functions.php 文件”,但总有些新手朋友总是反馈说:如何添加?添加后出错?添加后网站就不能访问啦……所以今天就来说说编辑 functions.php 文件应该注意哪些问题。

functions.php 有什么用

functions.php 是 WordPress 预留的功能函数文件,专门用于添加各种自定义函数代码。现在的WordPress主题的功能越来越强大了,一般都自带了 functions.php 这个文件(通常在主题根目录)。

php中的注释

注释,就是专门用来对代码进行补充说明的文本,一般分为单行注释和多行注释,单行注释使用两个斜杠 // ,多行注释使用 /* */,示例:

<?php
/**
 * 这是多行注释
 * 注释2行
 */
function hello_world() {
	// 单行注释
	// 再注释一行
	echo "<p>Hello World!</p>";
}
?>

php代码应该添加到 <?php  和 ?> 之间

打开 functions.php 文件,你会发现,文件开头一般都是 <?php ,表明这个文件是遵循php代码规范的,你需要将函数代码添加到它的里面,比如:

<?php
//开始php语法

function hello_world() {
	echo "<p>Hello World!</p>";
}

//结束php语法
?>

避免 <?php 和 ?> 多重嵌套

在 <?php 和 ?> 之间,不要再添加 <?php 和 ?>,如下面的例子就是错误的:

<?php
//开始php语法

<?php //错误:嵌套啦

function hello_world() {
	echo "<p>Hello World!</p>";
}

?>

可以看到,第一个 <?php 没有结束,又嵌套了一个 <?php ,这样的后果就是导致部分 php 代码失效,严重的可能会导致网站崩溃。

不要在 <?php 和 ?> 之间直接添加其他语种代码

<?php 和 ?> 之间的代码应该符合php语言规范,你不可以直接在他们之间直接添加其他语种代码,比如以下几种错误类型:

<?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 行:

<?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 等。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
欢迎关注WordPress大学公众号 WPDAXUE
新手入门

WordPress 伪静态规则(IIS/Apache/Nginx)

2013-11-6 10:28:12

新手入门

让你的WordPress网站更快的16条建议

2014-3-17 9:58:07

17 条回复 A文章作者 M管理员
  1. user27469

    我只是想用wp设计一个网站而已,现在感觉得重新去读一个计算机的本科?

    • 倡萌

      任何人接触新的东西,都是需要学习和实践的,没有人可以生来就会。如果你想快速开始搭建一个网站,可以看下我们的成品站模板 https://www.wpdaxue.com/wordpress-templates 是否有接近你想法的,找一套基本符合的作为起点,你会省时省力很多。当然了,有预算的话,找我们定制,高效又专业

  2. 王凯

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

  3. confidence

    这是原版的
    <?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' );
    没见到?结束啊,请问这么加倡萌?!

    • 倡萌

      没有 ?> 结束符也是可以的

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

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

    • 同难,试了多款FTP工具连接不到主机,网站IP地址应该没错,难受啊,憋屈

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

    • 转载本文请注明出自 WordPress大学 ,并且保留本文链接地址(可点击)

  6. windfire520

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

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

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

    • 大都是这样过来的

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

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索