WordPress 插件的国际化:__() 与 load_plugin_textdomain 的正确顺序
做了 i18n 却发现翻译不生效,八成是加载时机写错了。标准的三步// 1. 所有字符串用翻译函数包裹 __('Hello', 'my-plugin'); _e('Settings', 'my…
按发布时间归档的文章列表。
做了 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…
迅睿的扩展方式和 Z-Blog、WP 都不太一样,它的钩子体系围绕内容模块和表单事件展开。理解这套结构,插件才写得下去。先搞清目录结构/dayrui/App/你的应用/ ├── Config/…
很多人把所有代码都塞进 functions.php,换主题时全部作废。这条界限值得一开始就划清楚。判断标准:换主题之后还需要吗?只要答案是需要,就放进插件。功能归属注册导航菜单、侧栏主题自定义…
一个能上线的 WP 插件,骨架其实只有四块:头部注释、钩子注册、激活回调、卸载回调。下面按这四块拆。1. 头部注释
一个 Z-Blog 主题目录里通常有模板、style.css、theme.xml,还有一个容易忽略的 include.php。它在主题启用时被加载,是主题唯一能挂 PHP 钩子的地方。它适合做…
写 Z-Blog 插件绕不开两类钩子:Filter 和 Include。名字看着像,用途却完全不同,混用会出问题。Filter:改数据Filter 钩子的作用是拦截并修改数据。挂上之后拿到一个…