WordPress 插件设置页:Settings API 还是自己写表单
做一个插件设置页有两条路,选错了会多写几百行代码。路线一:Settings API(推荐)适合“若干个输入框/开关/下拉”这种常规配置。好处是提交、校验、CSRF、提示全部自动处理。add_a…
按发布时间归档的文章列表。
做一个插件设置页有两条路,选错了会多写几百行代码。路线一:Settings API(推荐)适合“若干个输入框/开关/下拉”这种常规配置。好处是提交、校验、CSRF、提示全部自动处理。add_a…
Z-Blog 的 Metas 机制很灵活,但官方没提供图形化建字段的界面,得靠代码完成。整个链路分四段。一、在主题 include.php 里注册字段(可选)添加/编辑文章页默认就有“自定义字…
迅睿的分页标签有好几种,用错会得到“数据有但页码不出来”或者“页码有但数据重复”的结果。一、列表页分页{$pages}最常用。它会自动读取当前页和每页条数,输出完整的分页 HTML。前提是控制…
短代码看着简单,但写法不对会引发编辑器内容错位,甚至让区块编辑器显示“无效内容”。正确姿势:return,不是 echoadd_shortcode('year', function(){ re…
主题想给用户留几个开关,不必写插件,主题本身就能带设置页。核心是两个文件一加一个钩子。第一步:在 include.php 挂菜单function theme_setting_menu(){ g…
做了 i18n 却发现翻译不生效,八成是加载时机写错了。标准的三步// 1. 所有字符串用翻译函数包裹 __('Hello', 'my-plugin'); _e('Settings', 'my…
插件在本地跑通不等于能发。下面这些点是实际踩过的坑,发布前过一遍。文件名与结构目录名与 plugin.xml 里的 id 必须一致,大小写也要一致include.php 第一行要有 if (!…
后台建好了字段,前台调不出来,是迅睿新手最常卡住的一步。问题多半在字段名和调用方式上。字段名不是显示名后台建字段时,“字段名称”是中文显示名,“字段别名”才是模板里用的名字。比如显示“副标题”…
register_post_type() 参数有二十多个,能跑起来只需要几个,但要跑得对,下面这几项不能省。1. labels不写 labels,后台菜单会显示成“文章”加复数形式,用户看不懂…
Z-Blog 的模板不是即时解释执行的,它先被编译成 PHP 文件缓存起来。理解编译结果,很多“为什么这样写不生效”就通了。{$title} 编译成什么模板里的 {$article.Title…