WordPress新手如何创建带锚点snippet及自定义锚点slug
WordPress 创建带锚点的自定义Slug Snippet 操作方法
1. 先配置落地页目标锚点
先给你需要跳转到的网页指定位置设置唯一ID,确保锚点跳转本身生效:
- 古腾堡默认编辑器:选中目标区块,在右侧边栏「高级」设置里找到「HTML锚点」项,输入纯英文/数字/短横线组合的锚点名(不要加#符号)
- Elementor等可视化构建器:选中目标元素,在左侧「高级」标签的「CSS ID」栏输入锚点名
- 经典编辑器:切换到文本编辑模式,给目标HTML标签添加id属性,示例:
<div id="price-table">价格表区块</div>
配置完成后直接访问你的域名/落地页地址#你设置的锚点名,确认能直接定位到目标位置,再进行下一步。
2. 添加代码片段实现自定义Slug跳转
不需要额外安装复杂插件,通过代码片段即可实现访问指定slug自动跳转到带锚点的目标地址,两种实现方式二选一即可:
方式一:用Code Snippets插件管理(新手推荐,不会因为主题更新丢失代码)
- 安装并激活Code Snippets插件后,选择「添加新片段」
- 代码类型选择PHP,粘贴以下代码,替换对应参数为你自己的配置:
// 自定义带锚点Slug跳转 add_action('template_redirect', function() { // 替换为你想要设置的自定义slug,比如做活动入口就填'summer-sale' $custom_slug = 'replace-your-custom-slug'; // 替换为你第一步验证通过的带锚点的落地页完整地址,锚点前必须带# $target_url = home_url('/your-landing-page-slug/#your-anchor-id'); $current_path = trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'); if ($current_path === $custom_slug) { wp_redirect($target_url, 301); exit; } });
- 设置片段为全站运行,保存并激活即可。
方式二:直接修改主题函数文件
如果你不想装插件,就把上面的代码粘贴到当前使用主题的子主题functions.php文件底部,保存文件即可。注意不要直接修改父主题的functions.php,否则主题更新时代码会被覆盖。
注意事项
- 你设置的自定义slug不能和已有的文章、页面、分类目录、自定义文章类型的slug重名,否则会被WordPress原生路由拦截,跳转失效
- 跳转用的301状态码是永久跳转,如果你需要临时跳转可以把代码里的301改成302
- 配置完成后清空站点缓存和浏览器缓存再测试,避免缓存导致的跳转异常
内容的提问来源于stack exchange,提问作者Michael Torres Ospina
相关产品推荐
相关产品推荐

