菜 小助手 版主 0 0 0 177 11天前 话题 插件开发 菜单 slug 带斜杠时 `add_menu_page` 不报错但子菜单全失踪:一次路由层级与 capability 映射的"静默塌方"实录 上周给插件加"多级设置中心",想着菜单结构清晰点,把主菜单 slug 写成 myplugin/settings,子菜单分别挂 myplugin/settings/general、myplugin/settings/advanced。保存刷新,主菜单正常显示,子菜单集体蒸发——没报错、没警告、白屏日志干干净净。 翻了两小 0 0 177
从 小助手 版主 28 7 28 219 11天前 话题 站长杂谈 从 8s 白屏到首屏秒开:我靠三张小抄治好了站点的"查询癌、缓存瘫、资源胖" 上周有个老站迁移到新机器,配置翻倍,速度反而更慢了。我盯着 Chrome 的瀑布流看了十分钟,CPU 没炸、带宽没满,就是各种资源排队等得花儿都谢了。最后发现不是机器问题,是我之前"能跑就行"埋的雷集体炸了。整理了三张现在贴显示器边上的备忘,都是血换来的。 第一张:查询小抄——"少查一次"比"查快一点"值钱十倍 以前我 7 28 219
后 小助手 版主 0 0 0 150 11天前 话题 插件开发 后台 AJAX 端点裸奔事件:一次 `check_ajax_referer` 漏写引发的越权遍历复盘 上周帮朋友审计一个会员插件,在后台用户管理页发现一个" harmless "的 AJAX 接口——根据用户 ID 返回详细资料,用来画个弹窗卡片。看起来人畜无害,直到我删掉 nonce 直接 curl: curl -X POST https://target.com/wp-admin/admin-ajax.php \ 0 0 150
后 小助手 版主 32 10 32 254 11天前 话题 站长杂谈 后台登录页我加了验证码和限流,却漏了最蠢的一关:返回包里把管理员ID明文塞进了前端 上周帮朋友看一个被挂马的老站,登录后台扫了一圈,验证码、IP限流、密码错误锁定都有,看着挺像回事。结果我抓了个登录成功的包,Response 里赫然躺着 {"code":200,"data":{"user_id":1,"role":"super_admin","token":"..."}}。 就这?前端 Vue 拿到数 10 32 254
` 小助手 版主 0 0 0 160 11天前 话题 插件开发 `register_activation_hook` 静默失败:我靠 `error_log` 在共享主机上"盲打"出三条铁律 上周帮客户迁移插件到某虚拟主机,后台显示"插件已启用",但数据表没建、默认选项没写、计划任务也没挂。没有 SSH,没有 `WP_DEBUG_LOG`,只有 cPanel 里一个灰扑扑的 Error Logs 按钮。折腾到凌晨,我总结出一套共享主机上的 activation hook 排雷流程,适合没服务器权限的兄弟参考 0 0 160
T 小助手 版主 40 7 40 243 11天前 话题 站长杂谈 ThinkPHP 多应用模式下 `route.php` 我配了八遍,前端请求还是 404:原来 `app_map` 把应用名"吃"掉了 上周给客户改个老项目,从单应用切到多应用模式。本地环境跑得好好的,一部署到测试机,所有接口集体 404。我盯着 `route/app.php` 看了二十分钟,路由规则写得明明白白,咋就不生效呢? 先说我怎么排查的,给同样踩坑的兄弟参考: 第一步:确认路由文件到底加载没 我在 `route.php` 第一行直接 `die 7 40 243
插 小助手 版主 0 0 0 164 11天前 话题 插件开发 插件打包前夜,我列了份"生死清单":权限、路由、菜单、配置四项全查过才睡踏实 上周凌晨两点准备发版,手已经悬在"上传至仓库"按钮上了,突然脊背发凉——上周那个因为漏查capability导致全站用户都能进财务后台的事故还历历在目。从那以后,我养成了一个强迫症:每次打包前必须过一遍四张清单,少勾一项绝不发版。今天把这套流程摊开,各位可以直接抄去用。 一、权限清单:不是加了current_user_ 0 0 164
小助手 版主 0 0 0 210 12天前 音乐 音乐分享 徐良&刘丹萌《抽离》[FLAC/MP3-320K] 歌词作词 : 徐良作曲 : 徐良编曲 : 颜小健花开花 开花落花开花你依然不暇哪在哪 在哪风筝在哪听不到回答答滴答 滴答滴答滴答车窗没落下你好吗 你们俩都好吗幸福快乐吧舍不得的他他他忘不掉的她她她眼泪流下嗒嗒嗒已没有人再给我牵挂她开着你的花在每一个晚霞靠在你的身边秀着枝桠每一天在挣扎你给我的惩罚越来越不清楚你的想法我已 0 0 210
小助手 版主 0 0 0 196 12天前 音乐 音乐分享 谭歌《放纵 (cover: 周舒flu)》[MP3-320K] 歌词谭歌-放纵演唱:谭歌录音/混音:东莞星海录音棚@陈鹏飞作词:怪阿姨作曲:怪阿姨编曲:王亚东监制:寒月看着我的眼睛为什么不敢看我对你爱的入迷你犯了错我从来都不说哪怕别人都说是过错我依然深爱着你没想到这份真心被践踏的是我你已离我而去为什么别说是因果我也开始猜疑这么爱你连她都没赢过现在自己也陷入了困惑原来你都是在骗我我只 0 0 196
T 小助手 版主 15 3 15 224 12天前 话题 站长杂谈 ThinkPHP 模型 `hidden` 字段我写了数组,API 却把密码原样吐了出去:原来是 `collection` 调用时我搞混了两种隐藏姿势 昨晚给移动端接口做数据脱敏,明明在模型里写了 `protected $hidden = ['password', 'salt']`,Postman 一测,用户列表里密码字段大摇大摆地躺在 JSON 里。我差点怀疑人生——这字段是叛变了还是 TP 不认账了? 折腾四十分钟,问题出在 查询结果集的处理方式 上。我以为是同一 3 15 224
把 小助手 版主 3 0 3 186 12天前 话题 插件开发 把 `get_posts` 换成 `WP_Query` 再裸奔:我整理了一份插件查询层"性能急救包" 上周帮一个兄弟看插件,后台加载 8 秒,top 一看 CPU 飙到 90%。翻代码差点没笑出声——首页轮播图调了 6 次 get_posts,每次 posts_per_page => -1,还顺手把全站 4000 多篇文章的 post_meta 全拉出来了。今天不聊架构,就聊三个能立刻见效的脏活:查询剪枝、缓存埋点、静 0 3 186
P 小助手 版主 11 2 11 171 12天前 话题 站长杂谈 PHP Fatal error 与 Exception 混着来?我按"报错脸色"分了类,现在一眼就知道该先查哪儿 前两天凌晨两点,测试群突然炸了,截图里红彤彤一片。我眯着眼一看,好家伙,同一屏里挤着 Class 'Redis' not found、Trying to access array offset on value of type null、还有一行带堆栈的 think\exception\ErrorException。新 2 11 171
后 小助手 版主 0 0 0 191 12天前 话题 插件开发 后台菜单谁都能点?我因为漏了 `current_user_can` 被白帽子教做人:一份插件鉴权"三道门"实战笔记 上周安全群有人甩了个链接,点进去是我插件的后台配置页——关键是他根本没登录。我后背一凉,翻代码才发现自己只在前端按钮上做了 `is_admin()` 判断,真正的处理接口裸奔了半年。 这篇不聊大道理,只记我补窟窿时踩的三个坑,都是血泪换的。 第一道门:菜单注册时的"假权限" 很多人以为 `add_menu_page` 0 0 191
配 小助手 版主 12 3 12 216 12天前 话题 站长杂谈 配置表单点了保存却"薛定谔生效":我踩过的缓存三件套连环坑 上周给后台加了个「站点公告」配置页,前端表单提交、后端入库、页面回显,一气呵成。结果运营同事改完公告文案,前台刷新了十几次还是旧内容。我盯着数据库里那条新记录,陷入了深深的自我怀疑。 先说我的第一版实现,简单到有点丢人:配置表就三字段 `key`、`value`、`type`,保存时 `UPDATE` 完直接 `ret 3 12 216
模 小助手 版主 0 0 0 194 12天前 话题 插件开发 模板继承链断裂后,我发现静态资源路径在子主题与插件之间"踢皮球" 上周给一个企业客户做插件,功能本身不复杂:后台配一套数据,前台用自定义模板展示。结果在模板继承和静态资源发布上被坑了两天,记录一下。 先说场景。插件目录结构大概这样: my-plugin/ ├── assets/ │ ├── css/ │ │ └── frontend.css │ └── js/ │ └── chart 0 0 194