『投稿』タイプの個別ページのパーマリンクに任意の文字列を追加する方法

タイトルだけだと内容が伝わりづらいかもしれません。
投稿記事のURLを『ドメイン/%postname%/』等にしている際に、『/%postname%/』の前に任意の文字列を追加する方法です。
その際に上手くいかなかった点があるので、メモしておきます。
タイトルの補足
まだ説明が足りないかもしれないので、補足。
投稿記事のURLに文字列を追加するというのは、このサイトだと『https://datalibraries.info/%postname%/』という設定になっているところに『blog』という文字列を追加して『https://datalibraries.info/blog/%postname%/』というURLにするということです。
単純にパーマリンク設定を『/blog/%postname%/』にすればいいかと思うかもしれませんが、そうするとカスタム投稿タイプがあった場合そのURLにも全部『blog』が追加されてしまいます。
このサイトだとカスタム投稿タイプ『bookmarks』ページもあるので、『https://datalibraries.info/blog/bookmarks/』になります。
(ちなみに『/blog/%postname%/』にしても固定ページのURLには影響しない。)
そういった際に投稿タイプの個別ページのURLにだけ文字列を追加する方法についてです。
こちらの記事を参考にさせてもらいました。
具体的な説明は参照記事の方でご確認ください。
下記コードをfunctions.phpに記述します。
2箇所で追加する文字列(ここでは『blog』)を指定しています。
function add_article_post_permalink( $permalink ) { $permalink = '/blog' . $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['blog/' . $regex] = $rewrite; } return $return_rule; } add_filter( 'post_rewrite_rules', 'add_article_post_rewrite_rules' );
注意点
上記コードを追記しただけでは、変更は反映されません。
functions.phpで『ファイルを更新』後、【設定】→【パーマリンク設定】も(何も変更していなくても)『変更を保存』をクリックします。
これで、変更が反映されます。
(参照記事下部にも『リライトルールを更新』とあったんですが、最初読み飛ばしてしまってました。)
具体的なケースは忘れましたが、前にパーマリンク関係のプラグインでもこの過程を抜いたため、設定が反映されずつまづいた事がありました。
カスタム投稿タイプを新たに登録した場合も、パーマリンク設定を更新する必要がありますね。
パーマリンク関係の設定が上手く反映されない場合は、設定を保存し直すといいかもしれません。
また、これは直接今回の修正に関係ありませんが、URLを変更したら、Redirectionなどのプラグインで301リダイレクトの設定もした方がいいでしょう。