问题背景
WooCommerce 的“我的账户(My account)“页面下有多个子页面,官方术语叫端点(Endpoint):订单、下载、地址、账户详情等。它们共用 My account 这一个页面,URL 不同(/my-account/orders/、/my-account/downloads/……),但页面标题都显示为”My account“。
结果就是:浏览器标签页上全是同一个标题,用户开多个标签分不清谁是谁;如果你用 Bricks 给 My account 做了自定义模板并在标题区输出 {post_title},同样无法区分当前在哪个端点。
解决办法:注册一个函数识别当前端点,返回对应的后缀文案,拼到标题后面。
Step 1:注册端点识别函数
在子主题的 functions.php(不需要开头 <?php 标签)或代码片段插件中添加:
function bl_get_endpoint_name(): string {
if ( is_wc_endpoint_url( 'orders' ) ) {
return ' - Orders';
} elseif ( is_wc_endpoint_url( 'downloads' ) ) {
return ' - Downloads';
} elseif ( is_wc_endpoint_url( 'edit-address' ) ) {
return ' - Addresses';
} elseif ( is_wc_endpoint_url( 'edit-account' ) ) {
return ' - Account details';
} else {
return '';
}
}
核心是 WooCommerce 自带的 is_wc_endpoint_url( '端点名' ) 判断函数:传入端点 slug,返回当前页面是否处于该端点。按顺序判断后返回对应后缀,都不是就返回空字符串(比如 My account 首页本身)。
Step 2:拼进页面标题
在 Bricks 模板中,把标题元素的动态数据设为:
{post_title}{echo:bl_get_endpoint_name}
这样在订单端点页,标题就会渲染成“My account - Orders”;在下载页变成“My account - Downloads”,以此类推。
Step 3:白名单化
Bricks 只允许执行白名单内的函数,把 bl_get_endpoint_name 加进去:
add_filter( 'bricks/code/echo_function_names', function() {
return [
'bl_get_endpoint_name'
];
} );
同样建议把站点其他自定义函数一并收集进来(Bricks → 设置 → 自定义代码 → Code review 可核对)。
相关阅读:
小结
这套“is_wc_endpoint_url() 识别端点 + {echo:...} 动态输出“的方案,不止能改标题:任何需要按端点区分的输出——比如给不同端点页显示不同的提示横幅——都可以照这个模式做。WooCommerce 端点的完整清单可以查官方文档(woocommerce.com 开发者文档 Endpoints 一节),按需扩展 elseif 分支即可。
顺带一提,前端体验层面浏览器标题一变,用户多开标签页的辨识度立刻提升;对 SEO 来说每个端点页的 title 也各不相同,算是白捡的优化。
适用场景与价值
这个「端点名追加到标题」的技巧,最适合做了自定义 My Account 模板、又用 {post_title} 输出标题的站点——否则所有子页在浏览器标签和搜索结果里都叫「My account」,用户多开标签分不清、SEO 也浪费了每个端点的独立标题权重。它不止能改标题:任何按端点区分的输出(比如不同端点显示不同提示横幅、不同 CTA)都能照这个 is_wc_endpoint_url() + echo 的模式扩展。端点完整清单见 WooCommerce 官方开发者文档 Endpoints 一节,按需加 elseif 分支即可。
常见问题(FAQ)
Q:为什么所有子页标题都一样? A:My account 各端点共用一个页面、URL 不同,默认标题都显示「My account」,需用端点识别函数区分。
Q:这个改动对 SEO 有帮助吗? A:有,每个端点页有了独立 title,搜索结果里辨识度和权重分配都更好。
Q:能按端点显示不同横幅吗?
A:能,用同样的 is_wc_endpoint_url() 判断加条件渲染即可。
Q:端点清单去哪查? A:见 WooCommerce 官方开发者文档 Endpoints 一节,按需在函数里加分支。
延伸阅读
- 想要现成外贸独立站模板与建站实战?看 铲子铺 chanzipu 的外贸建站教程(同用 Bricks,从零搭出能收询盘的站)
- 相关阅读:Bricks Setup Guide
延伸阅读
Bricks 判断 WooCommerce 购物车是否为空(条件渲染)
教程:Bricks 判断 WooCommerce 购物车是否为空(条件渲染)——woocommerce 附完整代码可直接复用,适合外贸独立站与 WordPress 开发者。
tutorialBricks 将 WooCommerce 产品分类图片设为 Section 背景
教程:Bricks 将 WooCommerce 产品分类图片设为 Section 背景——woocommerce 附完整代码可直接复用,适合外贸独立站与 WordPress 开发者。
tutorialBricks 打造自定义 WooCommerce 账户中心(My Account Dashboard)
教程:Bricks 打造自定义 WooCommerce 账户中心(My Account Dashboard)——woocommerce 附完整代码可直接复用,适合外贸独立站与 WordPress 开发者。
tutorialBricks 按 WooCommerce 产品属性值条件渲染元素
教程:Bricks 按 WooCommerce 产品属性值条件渲染元素——woocommerce 附完整代码可直接复用,适合外贸独立站与 WordPress 开发者。
