我正在尝试将默认“post”post类型的permalink结构更新为site.com/articles/{post-title}
(以编程方式,不使用“设置”菜单)
我正在使用register_post_type_args
用于更新post类型参数的筛选器:
add_filter(\'register_post_type_args\', [ $this, \'update_post_type_labels\' ], 10, 2 );
public function update_post_type_labels( $args, $post_type ) {
if ( $post_type !== \'post\' ) {
return $args;
}
$args[\'rewrite\'] = array(
\'slug\' => \'articles\',
\'with_front\' => true
);
return $args;
}
这似乎只起了一半作用,因为在我刷新重写规则之后,帖子仍然默认为
site.com/{post-name}
, 但是,我也可以访问
site.com/articles/{post-name}
. 如果我拆下过滤器并再次冲洗,
site.com/articles/{post-name}
重定向到
site.com/{post-name}
.
Why isn\'t WordPress forcing the rewrite?