WordPress自定义页面URL从service改为product的修改求助
修改WordPress自定义页面类型URL的解决方案
核心操作步骤
因为你要修改的是**自定义页面类型(CPT)**的URL前缀,固定链接设置无法直接调整,需修改CPT的注册参数,步骤如下:
- 登录WordPress后台,进入「外观」→「主题文件编辑器」,找到当前主题的
functions.php(推荐使用子主题的functions.php,避免主题更新丢失修改内容) - 在文件中定位到注册自定义页面类型的代码段,通常是
register_post_type()函数 - 找到函数参数里的
rewrite数组,将slug的值从service替换为product,示例代码如下:register_post_type( '你的自定义页面类型名称', array( // 其他参数(如标签、支持功能)保持不变 'rewrite' => array( 'slug' => 'product', // 将此处的service改为product 'with_front' => false // 可选参数,无需保留站点默认前缀时设为false ), // 其他参数... ) ); - 保存文件后,进入「设置」→「固定链接」,任意选择一种固定链接格式(比如「文章名」)并点击「保存更改」——这一步是强制刷新WordPress重写规则,必须执行,否则新URL不会生效
可选:旧URL重定向(避免404错误)
如果之前的service开头URL已被访问过,为防止出现404错误,可在functions.php末尾添加以下代码实现301永久重定向:
function redirect_service_to_product() { if ( strpos( $_SERVER['REQUEST_URI'], '/service/' ) !== false ) { $new_url = str_replace( '/service/', '/product/', $_SERVER['REQUEST_URI'] ); wp_redirect( home_url( $new_url ), 301 ); exit; } } add_action( 'template_redirect', 'redirect_service_to_product' );
内容的提问来源于stack exchange,提问作者Sachin Dasar
相关产品推荐
相关产品推荐

