小工具是 WordPress 主题中灵活的内容组件,用户可以将其拖拽到侧边栏、页脚等小工具区域。虽然区块小工具正在普及,但传统小工具仍然有广泛的应用场景。本文详细介绍如何在主题中创建自定义小工具。

小工具的核心结构

一个完整的小工具类继承自 WP_Widget,需要实现四个方法:构造方法用于注册小工具的 ID、名称和描述。前端渲染方法用于输出小工具在网站前端的 HTML 内容。后台表单方法用于输出小工具在后台的设置表单。更新方法用于保存用户在小工具设置中输入的数据。

注册小工具

在 widgets_init 钩子中,使用 register_widget 函数注册自定义小工具类。注册后,小工具会出现在后台的小工具管理界面中,用户可以将其拖拽到任意小工具区域。

小工具的字段类型

在小工具的后台表单中,可以添加各种类型的字段,包括文本输入框、文本域、下拉选择框、复选框、单选按钮等。所有用户输入的数据在保存时都需要进行清洗和验证。

小工具的前端输出

在前端渲染方法中,使用 $args 参数中的 before_widgetafter_widgetbefore_title 和 after_title 包裹输出内容,确保小工具的样式与主题一致。使用 $instance 数组获取用户保存的设置数据。

小工具的缓存

如果小工具的渲染需要执行数据库查询,建议对小工具的输出进行缓存。可以使用 WordPress 的瞬态 API 或对象缓存,避免每个页面都重复执行相同的查询。