質問: home_url(user_trailingslashit($newlink)); return $newlink; } add_filter('post_type_link', 'myposttype_permalink', 1, 3); function myposttype_rewrite() { global $wp_rewrite; $wp_rewrite->add_rewrite_tag('%news%', '([0-9]+)', 'post_type=news&p='); } add_action('init', 'myposttype_rewrite'); ``` 記述後にwp管理画面の「パーマリンク設定」を更新しましたら、ページ名の設定がニュースも実績もID名になってしまいました。ID名になるのはニュースだけでよいのです。どのように記述を変えればよいのでしょうか。 wordpressにお詳しい方でお分かりになる方がいらっしゃいましたらご教示をお願い致します。
回答: 追記したので試してみてください。 カスタムポストニュース記事にだけ限定しているので大丈夫だと思います ``` if ( get_post_type() === 'news' ) { ~ } ``` このような形でポストタイプを指定してあげれば良いと思います。 **追記** ``` function post_type_news_slug( $link ){ global $post; if ( get_post_type() === 'news' ){ return home_url( 'news/' . $post->ID ); } else { return $link; } } add_filter( 'post_type_link', 'post_type_news_slug' ); function post_type_news_rewrite_rule(){ add_rewrite_rule( 'news/([0-9]+)?$', 'index.php?post_type=news&p=$matches[1]', 'top' ); } add_action( 'init', 'post_type_news_rewrite_rule' ); ```