最后更新时间为 2020年2月26日
WordPress以其难以置信的灵活性而著称,尤其是在主题和插件开发方面。如果您想查看证明,只需询问一组开发人员他们将如何实现特定功能。您可能会收到几种不同的方法来实现相同的结果。
但是,有了这种灵活性,现实就是很容易以“错误”的方式做事。“错误”意味着无法持续进行某些操作或效率低下。尽管从功能上讲可能会起作用,但通常有更好的方法来完成任务。
作为刚开始接触WordPress主题或插件开发的人来说,通常都无可避免的会犯一些比较常见的错误,今天我们就来简单说一下。
5个常见的WordPress主题开发错误
让我们看一下主题开发中发现的五个最常见的错误,以及可以避免您以后头痛的替代方法。
如果您曾经看过WordPress页面或文章产生的HTML代码,则会注意到图片和内部链接都使用绝对(完整)网址。但这不是将代码添加到主题模板时完成工作的最佳方法。
举例来说,假设您正在开发使用临时网址的网站。模板中的使用绝对网址意味着当您准备在其永久域上启动网站时,必须手动更改代码。尽管可以做到这一点,却很容易忘记这种类型的代码存在的所有地方。
WordPress有内置的方法来确定正确的网址 –从仪表板区域中 设置 > 常规
直接获取。
对于链接,输出esc_url( home_url() )
将提供指向主页的完整路径。因此,您可以像下面这样向您的主页添加一个简单的链接,而不是将位置明确地添加在代码中:
<a href="<?php echo esc_url( home_url() ); ?>" />首页</a>
此外,您还可以使用它来指向其他页面。例如,如果我们想链接到网站的“关于我们”页面,则可以使用以下代码:
<a href="<?php echo esc_url( home_url() ); ?>/about-us/" />关于我们</a>
类似的代码段也适用于图片。本示例从激活的主题的/images/
子文件夹中提取图片:
<img src="<?php echo esc_url( get_stylesheet_directory_uri() ) ; ?>/images/hello.png" />
2.将脚本和样式直接添加到模板
在WordPress中使用第三方脚本和样式是非常多的。刚开始构建主题时,您可能会想直接放置<script>
或<style>
标记,甚至将Google字体直接嵌入代码到主题页眉中。通常,这是静态HTML网站完成操作的方式,因此在此处执行相同操作是很有意义的。
但是,就像WordPress中的所有其他内容一样,还有更好的方法来解决它。我们应该利用wp_enqueue_script()
和 wp_enqueue_style()
–将脚本和样式表添加到适合您的正确位置的优势。由于从主题functions.php
文件中调用了所有内容,因此这也使脚本管理变得容易得多。
3.调用jQuery的外部实例
在相关说明中,WordPress的一个隐藏秘诀是它已经包含jQuery的副本以及几种流行的UI功能。因此,您不需要安装jQuery或远程调用它。
唯一的问题是您必须通过主题functions.php
文件专门启用要使用的项目。虽然这创造了一些学习曲线,但也减少了项目的文件。
而且,实现所需的jQuery UI元素并不是不是太困难。例如,要启用jQuery UI选项卡,只需将以下代码段添加到您的functions.php
:
function my_jquery_elements() {
wp_enqueue_script( 'jquery-ui-tabs', array('jquery'));
add_action( 'template_redirect', my_jquery_elements ', 10 );
这告诉WordPress从其现有库中加载元素。
4.过度定制
添加自定义字段和自定义文章类型的功能可以使开发人员和网站内容编辑者的生活变得更加轻松。它们提供了便利,更好的内容组织和更直观的用户体验。但是有时候我们走得太远了。
例如,我非常喜欢自定义字段。但是即使我也承认,有时候我已经将主题定制为缺乏灵活性。字段非常适合需要确切知道需要输入哪些内容的设置,例如员工资料的字段。
但是,当有人要添加的内容类型不一致时,它可能会变得混乱。
对于这种类型的定制,没有硬性规定。我们唯一能做的就是最好地判断应该定制哪些内容,以及哪些内容可以更好地留给WordPress内容编辑器甚至是一个小插件。当我们确实添加字段或文章类型时,只要知道事情可能会发生变化,并尝试在此基础上进行构建即可。
国内的一些WordPress主题,往往捆绑了一大堆功能,恨不得一个主题就解决了所有问题和实现所有功能。其实这是非常不可取的,建议主题只作为一个基础的能满足普通用户的版本,而将一些相对独立的功能抽离作为插件进行补充,这也是国外很多主题开发商和销售平台,甚至WordPress官方建议的。
5.未添加代码注释
我将在这里再次承认:代码注释不是我的强项之一。这并不是说我根本不使用注释,而是更多的是它们不是很清晰。通常,我会指出特定项目的开头和结尾,而在两者之间没有太多的注解。我应该做更多吗?是的。
注释很重要,因为它至少在代码内提供了一些参考点。在浏览包含多个内容的PHP或JS文件时,您将想知道在哪里可以找到特定项目。
即使您是唯一会编辑该代码的人,也强烈建议使用注释。例如,如果您需要在六个月后进行更改,那么您不太可能会想起放置代码段的确切位置。
因此,我不会成为一个虚伪的伪君子,并恳请您对所有事情进行深度注释。但是我要说的是,即使是最小的努力,这也可以使您或其他必须精疲力尽的工作的开发人员将来的维护变得更加容易。
不断提高自己的技术
建立自己的WordPress主题是很棒的体验。但是,确实需要一些实践来了解创建主题的良好细节,正确编码利于维护。
可以说,基本上所有的WordPress主题开发者,在最初的时候都会犯过这些错误,但是随着时间的推移,我们应该不断提高自己的技术,尽量去避免再次出现这些错误。