默认‘POST’帖子类型:设置参数时不强制URL重写

时间:2017-05-17 作者:psorensen

我正在尝试将默认“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?

1 个回复
SO网友:Milo

您可以更改的永久链接结构post 通过更新存储它的选项:

update_option( \'permalink_structure\', \'/articles/%postname%/\' );

结束

相关推荐