将 post URL 更改为 WordPress add_rewrite_rule()

Change post URL with WordPress add_rewrite_rule()

我有一个 post 和 URL 像这样:

http://example.com/news/postname

wp-admin中的'Custom Structure'设置是这样的:

http://example.com[/news/%postname%]

我想将 post-name 的 URL 以我的 post 开头(例如我的post-postname)更改为

http://example.com/my-news/postname

我尝试这样使用 add_rewrite_rule:

add_action( 'init', 'new_posts_with_new_url' );
function new_posts_with_new_url()
{
    add_rewrite_rule('my-news/([^/]*)/?','index.php?pagename=news/mypost-$matches[1]','top');
}

不过好像不行

我哪一步做错了?非常感谢。

我的情况 index.php?pagename=news/mypost-$matches[1] 错误,

你可以用echo add_query_arg( $wp->query_vars, home_url() );看到真正的url。