制作WordPress主题时需要注意什么

5
我已经制作了一两年的Wordpress主题,并且在尝试使我的主题与其设置、插件等兼容和灵活时,一直遇到需要记住的事情。
是否有一个资源可以列出所有Wordpress主题设计中的“不要忘记”的清单?在构建您的Wordpress主题时,您会想到哪些事情?
例如:
- 检查作者/管理员是否禁用了某个帖子的评论。 - 记得在<head>标记结束时调用wp_head()。 - 记得在<body>标记结束时调用wp_footer()。 - 使用bloginfo()变量而不是为charset、html类型、描述等设置静态值,以便管理员可以在站点设置中修改这些内容。 - 在调用插件功能之前,使用function_exists()检查插件是否安装,以便它可以优雅地失败。
3个回答

2
WordPress文档有一个有趣的主题,正好回答了您的问题:它被称为设计面向公众发布的主题。还有主题开发通用指南模板文章也很棒。
我不知道其他官方资源,但将更多信息添加到这三个指南中会很有趣。我对一些其他答案也很感兴趣,以补充它们。
我非常习惯使用WordPress,因此当我开发时,输出域信息(例如bloginfo())而不是静态值的函数就像自动流动的示例一样好用,这是任何Web开发的良好实践。

我很感兴趣并希望能得到更多的回应,但你指出的资源已经是我们能得到的最好的了。我在考虑将这个贡献给社区维基,但不确定是否合适。 - JoshMock
我们这里有很多关于“最佳实践”的帖子,非常适合。事实上,我们没有像C#问题那样频繁出现的可见度。在每个WordPress项目之前阅读的“清单”(可能是Excel)是一个好主意。如果你有一个编程博客,这将是一个有趣的主题。 - GmonC

2
一个主题开发清单更多地取决于您的主题的预期受众。如果超出了基本博客并朝着WordPress作为CMS领域发展,您需要考虑以下内容:
  • 自定义小部件和动态侧边栏,使功能更加可移植和灵活
  • 支持自定义字段或像MagicFields这样实现前者的插件
  • 路由和创建不同级别站点的自定义模板(例如:子类别由category-x.php处理)
  • 使用CSS框架,以便能够更好地理解样式;确保包括IE支持
  • 具有自己菜单、页面等的自定义wp-admin部分;如果您的主题具有可以被用户进一步定制的自定义功能,则特别必要
  • 使用wp_scripts和wp_styles类和函数添加样式和脚本;这对于JavaScript尤其重要,因为它可以防止重复包含并与依赖脚本一起工作(在加载jQuery之前加载您的jQ脚本)
  • 确保主题设计看起来不像其他所有针对WordPress的主题那么无聊
  • 编写一个主题类;除非您计划支持PHP4,否则使用PHP5类和对象可以让您的生活更轻松,具有特征继承和无命名冲突。看看CodeIgniter和他们的单例模式;它使得在模板文件内部创建自定义全局变量变得更加容易
  • 如果您(并且应该)将您的主题变得更加高级并更像一个插件,则需要了解如何使用WP_Cache和WP_Rewrite对象,以便您的自定义查询具有$wpdb(是的,您偶尔需要执行这些操作以获取某些自定义功能)较少的开销,并且您的新页面(如果您正在重写URL)正确路由并且您的链接被正确动态生成。
  • 最后但最重要的是,尽力将展示(HTML)与逻辑(PHP)分离;随着您开始运行自定义WP循环,这变得困难,而良好的解决方案是前面提到的主题类。

0

我们公司还开发了许多不同的WordPress和WordPress MU主题,我们没有找到任何“官方”的资源,但我们做的一件事是创建一组基本的模板文件,可以用作“标准”设置,以加快我们的开发过程。

然后,每当需要开发新主题时,我们基本上将这个默认的模板文件集合复制/粘贴到WordPress安装的新主题文件夹中。对于我们来说,在这个默认设置中包含的项目有预填的header.php、footer.php、index.php、home.php、single.php、functions.php、comments.php、/images(目录)、/functions(目录)、style.css、/css(目录)、/scripts(目录)以及一些其他项。

同时,我们还使用了Yahoo Grids或Google Blueprint css框架来加速css工作。还有一些我没提到的东西/文件,但应该可以给你一个大致的想法,说明在我们的工作室里最有效的方法是什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接