• 光明地产进入怡心湖板块,十陵流拍“扶不起”? ——凤凰网房产成都 2019-04-14
  • 【両会】第13期全人代第1回会議、北京で閉幕 2019-04-07
  • 广州市第十五届人大常委会第十四次会议第一次全体会议 2019-04-07
  • 世界很多国家想拥有核弹,但迫于种种原因而没能实现。 2019-04-05
  • 【改革印记——看中国发展】记录“轨道上的京津冀”成长 2019-04-04
  • “日啖荔枝三百颗”:千万别,大量进食会引发低血糖 2019-04-04
  • 戴斌:旅游开发需更多文化自信 2019-03-18
  • 丁苑 谢瑞波:道德认同在道德教育中有特殊作用 2019-03-18
  • 西沙群岛水下考古出新成果 2019-03-01
  • 女性喝什么能排毒 四种蔬菜汁排毒养颜-美食资讯 2019-02-23
  • 阿里云开年Hi购季满返,5折上云!
    织梦dedecms模板制作仿站(含手机)+安全防护教程

    青海快三开奖结果:编辑WordPress主题的 functions.php 文件的注意事项

    Loading
    2
    《LINUX就该这么学》运维人员必学的LINUX系统自学手册

    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,欢迎和我一起交流!

    精彩推荐

    WordPress的RSS Feed地址是什么?如何添加?如何订阅?

    WordPress入门 之 创建和管理文章分类

    15 条评论

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

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

      // custom functions
      我想加WordPress大学的代码
      /**
      * 移除 WordPress 评论的网址URL表单及评论人链接
      * //www.xw004.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 这个文件,在线求等 怎么办???

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

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

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

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

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

    发表评论

  • 光明地产进入怡心湖板块,十陵流拍“扶不起”? ——凤凰网房产成都 2019-04-14
  • 【両会】第13期全人代第1回会議、北京で閉幕 2019-04-07
  • 广州市第十五届人大常委会第十四次会议第一次全体会议 2019-04-07
  • 世界很多国家想拥有核弹,但迫于种种原因而没能实现。 2019-04-05
  • 【改革印记——看中国发展】记录“轨道上的京津冀”成长 2019-04-04
  • “日啖荔枝三百颗”:千万别,大量进食会引发低血糖 2019-04-04
  • 戴斌:旅游开发需更多文化自信 2019-03-18
  • 丁苑 谢瑞波:道德认同在道德教育中有特殊作用 2019-03-18
  • 西沙群岛水下考古出新成果 2019-03-01
  • 女性喝什么能排毒 四种蔬菜汁排毒养颜-美食资讯 2019-02-23