5

我已经制作 Wordpress 主题一两年了,并且在尝试使我的主题与它们的设置、插件等尽可能兼容和灵活时,我需要记住一些事情。

是否有资源可以保存所有“不要忘记”Wordpress 主题的清单?在构建 Wordpress 主题时,您会尝试记住哪些事项?

例子:

  • 检查作者/管理员是否禁用了对特定帖子的评论。
  • 记得在标签wp_head()末尾调用。<head>
  • 记得在标签wp_footer()末尾调用。<body>
  • 使用bloginfo()变量而不是为字符集、html 类型、描述等设置静态值,以便管理员可以在站点设置中修改这些内容。
  • 在从插件调用函数之前使用function_exists(),因此如果未安装该插件,它将正常失败。
4

3 回答 3

2

主题开发清单更多地取决于主题的目标受众。如果它超出了基本博客并转向 WordPress-as-CMS 领域,您需要研究:

  • 自定义小部件和动态侧边栏,使功能更加便携和灵活
  • 支持自定义字段,或以全新方式实现前者的 MagicFields 等插件
  • 为站点的不同级别路由和创建自定义模板(例如:子类别由 category-x.php 处理)
  • 使用 css 框架,因此修改样式的人更有可能更好地理解它;确保包括即支持
  • 具有自己的菜单、页面等的自定义 wp-admin 部分;如果您的主题具有可以由用户进一步自定义的自定义功能,这尤其必要
  • 使用 wp_scripts 和 wp_styles 类和函数来添加样式和脚本;这对于 javascript 尤其重要,因为它可以防止重复包含并使用依赖脚本(在 jQ 脚本之前加载 jQuery)
  • 确保主题的设计看起来不像 WordPress 的其他所有东西一样无聊
  • 编写主题课;除非您打算支持 PHP4,否则请使用 PHP5 类和对象来使您的生活更轻松,在功能继承和无命名冲突方面。查看 CodeIgniter 及其单例模式;它使模板文件中的自定义全局变量更易于管理
  • 如果您(并且您应该)使您的主题更高级并且更像一个插件,那么知道如何使用 WP_Cache 和 WP_Rewrite 对象,以便您使用 $wpdb 进行自定义查询(是的,您需要执行这些操作一次在一段时间内获得某些自定义功能)更便宜,并且您的新页面(如果您正在重写 url)正确路由并且您的链接分别正确动态生成。
  • 最后也是最重要的是,尽最大努力将演示文稿(html)与逻辑(php)分开;当您开始运行自定义 WP 循环时,这会变得很困难,一个好的解决方案是前面提到的主题类。
于 2009-12-14T01:33:18.943 回答
2

Wordpress 文档有一个有趣的主题,准确地解决了您的问题:它被称为Designing Themes For Public Release。还有主题开发通用指南模板文章也很棒。

我不知道其他官方资源,但是在这三个指南中添加更多信息会很有趣。我对我们可能在您的问题中提供的其他一些答案感兴趣,以补充它们。

我已经习惯了 Wordpress,以至于您编写的示例在我开发时会自动流动,因为使用输出域信息(例如,bloginfo()而不是静态值)的函数在任何 Web 开发中都是一个好习惯。

于 2009-12-07T23:39:25.780 回答
0

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

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

然后我们还使用了 Yahoo Grids 或 Google Blueprint css 框架作品来加速 css 工作。我遗漏了一些其他项目/文件,但应该让您大致了解在我们的商店中什么最适合我们。

于 2009-12-08T06:42:02.883 回答