跳至主要内容

定制 WordPress 插件还是现成产品?决策指南

在为定制插件付费,或者为了某一项工作安装第五个插件之前,请先回答关于维护、安全性、数据、速度、许可证和退出成本的六个问题。

封面图片:自定义插件还是现成插件?
本文内容

当现有插件已经能完成大部分工作且处于积极维护状态时,请使用现有插件。当该工作对您的业务至关重要、需要任何插件都无法适配的数据模型,或者需要将多个插件堆叠在一起时,请构建定制插件。下面的六个问题将该规则转化为决策依据。

第 0 步:用一段话写明需求

描述该功能必须做什么、谁在使用它以及它涉及哪些数据。如果您无法写出这段话,说明您还没有准备好选择任何一条路线。然后搜索与之匹配的插件。

这六个问题

  1. 维护工作量。 谁来确保它在 WordPress、PHP 和插件更新后依然正常运行?对于现有插件,请打开其 WordPress.org 页面,检查它最后一次更新的时间以及所测试的 WordPress 版本。对于定制插件,请确定发布后谁来负责更新。
  2. 安全面。 每个插件都是在您网站权限下运行的代码。现有插件引入了您未编写且不易审查的代码。定制插件则引入了必须有人仔细编写的代码,其中包含经过滤的输入、转义的输出以及检查过的权限。默认情况下,这两条路线都不是绝对安全的。
  3. 数据模型。 插件存储数据的方式是否符合您的工作方式?庞大或不常见的数据(例如数千个即将到期的优惠券)通常需要为此专门设计自定义文章类型或数据表。DieRabatte.de 的优惠券平台通过自定义文章类型而不是通用插件来管理每日 4,000+ 的交易。
  4. 性能成本。 检查插件在每个页面上加载了什么。浏览器的开发者工具显示了额外的脚本和样式,而免费的 Query Monitor 插件则显示了每个请求的数据库查询次数。对于仅在单个页面上使用的功能,却在全站加载其资产的插件,会让每个访客为其付出性能代价。
  5. 许可证与续费。 将三年内的许可证年度成本加起来,并检查停止付费后这些功能会发生什么。
  6. 退出成本。 如果插件消失了或者您不再适用它,您能否以可用的格式导出您的数据?文档化结构中的自定义数据比插件私有格式中的数据更容易迁移。
在您需要时提供专业支持

让这些想法落地。

从解决具体问题到建设完整网站,我们帮助您明确范围并完成实施。

聊聊我的网站网站设计

分享您的目标。我们通常会在 4 小时内回复相关问题及实用的下一步方案。

解读答案

如果此情况属实倾向于
某个活跃插件涵盖了大部分需求且数据很普通现有插件
该功能对收入至关重要且需要特殊逻辑定制插件
您需要堆叠三个或更多插件才能实现目标定制插件
该插件已被放弃或很少更新替换它,使用定制插件或另一个得到维护的插件
唯一的差距是一个很小的行为现有插件加上一个使用钩子(hooks)的小型定制插件

大多数人忽略的中间路线

如果一个好插件完成了 90% 的工作,请不要动它,并通过使用其钩子(hooks)和过滤器的微型定制插件来添加缺失的 10%。不要编辑插件自己的文件,因为下一次更新会覆盖您的更改。

比较实际成本

索取定制路线的固定范围报价,并将其与现有路线的三年成本进行比较:许可证、维护时间以及替换废弃插件的风险。还要算上性能成本,因为网站变慢会降低转化率。

常见问题

我如何知道一个插件是否得到了维护?

检查其 WordPress.org 页面上的最后更新日期以及测试过的 WordPress 版本,然后粗略浏览最近的支持讨论贴,查看是否有未解决的问题。

自定义插件比热门插件更安全吗?

并非绝对。热门插件会接受更严格的审查,而自定义插件在您网站上运行的代码较少。关键在于代码编写和审查的仔细程度。

当 WordPress 更新时,自定义插件会失效吗?

如果它依赖私有函数,则可能会。基于 WordPress 的公开钩子(hooks)和过滤器(filters)构建的插件出现这种情况的可能性要小得多,而且您仍然应该在暂存环境中测试更新。

不确定该选择哪种方式?

发给我们一段需求描述,我们将告诉您哪种路径适合,以及原因。请查看我们的自定义 WordPress 主题和插件开发服务, 或阅读如何创建 WordPress 插件.

Muhammad Junaid Tariq, founder of Premier Solutions
作者

Muhammad Junaid Tariq

Founder & Lead Architect, Premier Solutions

Muhammad Junaid Tariq is a full-stack web developer and the founder of Premier Solutions. With 5+ years of experience and 200+ delivered projects, he specializes in custom WordPress development, WordPress security and malware removal, Next.js applications, and technical SEO for clients across the US, UK, and Europe.

返回博客