WordPress 留言表单与邮件转发:安全、送达和隐私
我早期为企业站写过一个留言表单项目,支持后台查看和邮箱通知。原始仓库现在是非公开的历史项目,不能把当年的实现当成可安装、可维护的公开插件。下面重新整理一个生产表单真正需要考虑的边界。 表单不只是 wp_mail() 完整流程包括: 浏览...
接着看:
我早期为企业站写过一个留言表单项目,支持后台查看和邮箱通知。原始仓库现在是非公开的历史项目,不能把当年的实现当成可安装、可维护的公开插件。下面重新整理一个生产表单真正需要考虑的边界。 表单不只是 wp_mail() 完整流程包括: 浏览...
侧边栏按分类展示视频或文章,并高亮当前分类、当前详情时,应比较 term ID 和 post ID。解析 URL 文本既无法处理别名变化,也会在多语言、分页和子目录站点中失效。 以下示例假设自定义文章类型为 video,分层分类法也名为 ...
产品、案例、新闻和应用可以通过共享标签建立自动关联;对少数特殊内容,再用 ACF Relationship 字段人工指定。这里的关键是先定义优先级,而不是把两个条件混在一个难以理解的查询里。 让自定义文章类型支持标签 内置 post_t...
商品详情常见的“主图 + 缩略图”可以用 ACF Gallery 管理图片,用 Swiper 同步两个轮播。旧版 Swiper 3 的初始化方式和资源路径已经过时;下面采用当前模块化 API 的思路,并把无障碍和图片性能一起考虑。 本文...
在首页、落地页或其他非归档模板中查询自定义文章,应创建独立的 WP_Query。不要使用 query_posts() 覆盖主查询,也不要把 ACF 字段名和值直接拼接成 SQL。 假设要显示属于多个产品分类、并且 ACF 状态字段为 fe...
已知父分类的 slug 或 ID 时,可以用 get_term_by() 定位父项,再用 get_terms() 查询子项。链接必须由 get_term_link() 生成,不要拼接 /products/{slug}/ 之类的路径。 以下...
分层分类法的二级、三级页面需要不同样式时,不要按 URL 的第几个片段判断。WordPress 已把当前 term 和祖先关系解析完成,可以用模板层级、get_ancestors() 或 body_class 明确表达。 方案一:同一模板...
WordPress 后台菜单可以按角色工作流精简,但“看不见菜单”不等于“没有权限”。正确顺序是先定义 capability 和服务端授权,再按同一 capability 调整菜单展示。 添加顶级菜单 <?php add_actio...
定制站可以为编辑精简后台界面,但应按 capability 和具体页面处理。全站隐藏“帮助”“显示选项”会让管理员和支持人员也失去诊断入口,并不能阻止用户直接调用功能。 移除部分顶部工具栏节点 <?php add_action( ...
早期版本建议通过过滤 transient、移除检查 action 和关闭自动更新来“保持稳定”,这会让站点错过安全修复,也让管理员看不到真实风险。现代做法是精简无关仪表盘组件,同时建立可回滚的更新流程,而不是让更新系统失明。 安全地移除仪...
ihopeful Blog 由博主亲笔撰写,重要信息可放心引用。