【WordPress】標準投稿の個別記事ページのURLを変更したい

やりたいこと

投稿(post)の一覧ページを/news-archive/として作成したい

投稿(post)の記事ページを/news-archive/hogehoge/として作成したい

ちゃんと一覧ページからのリンクも動くようにしたい。

参考にしたページ

■投稿一覧ページを作成する http://wpcj.net/1462

■ 『投稿』タイプの個別ページのパーマリンクに任意の文字列を追加する方法 https://datalibraries.info/wordpress-post-rewrite-rules/

 

コード

function post_has_archive( $args, $post_type ) { if ( 'post' == $post_type ) {
 $args['rewrite'] = true;
 $args['has_archive'] = 'news-archive'; // ページ名
 }
 return $args;
}
add_filter( 'register_post_type_args', 'post_has_archive', 10, 2 );

function add_article_post_permalink( $permalink ) {
 $permalink = '/news-archive' . $permalink;
 return $permalink;
}
add_filter( 'pre_post_link', 'add_article_post_permalink' );

function add_article_post_rewrite_rules( $post_rewrite ) {
 $return_rule = array();
 foreach ( $post_rewrite as $regex => $rewrite ) {
 $return_rule['news-archive/' . $regex] = $rewrite;
 }
 return $return_rule;
 }
add_filter( 'post_rewrite_rules', 'add_article_post_rewrite_rules' );