カスタム投稿タイプのURLを数字に変更したい!

WPでウェブサイトを作成する際に、カスタム投稿タイプの記事のURLは基本的には入力した日本語タイトルになると思います。
ただこの場合、URLをコピーして誰かに知らせたい!となるとコピーしたURLは記号がぐちゃぐちゃの結構長いものになるのではないでしょうか?

ということで今更ですが、パーマリンクが数字になるようにカスタマイズしようと思います。

まずはfunnction.phpに以下の記述を行います。
カスタム投稿タイプ名のところは例えばeventであればeventを入力してください。
日本語ラベルはイベントであればイベントと入れてもらう感じで伝わると思います。

add_action( 'init', 'my_post_type' );
function my_post_type() {
  register_post_type(
    'カスタム投稿タイプ名',
    array(
      'label' => 'カスタム投稿タイプ名の日本語ラベル',
      'public' => true,
      'has_archive' => true,
      'rewrite' => array('with_front' => false)
    )
  );
}
add_filter( 'post_type_link', 'my_post_type_link', 1, 2 );
function my_post_type_link( $link, $post ){
  if ( 'カスタム投稿タイプ名' === $post->post_type ) {
    return home_url( '/カスタム投稿タイプ名/' . $post->ID );
  } else {
    return $link;
  }
}
 
add_filter( 'rewrite_rules_array', 'my_rewrite_rules_array' );
function my_rewrite_rules_array( $rules ) {
  $event_list = array( 
    'news/([0-9]+)/?$' => 'index.php?post_type=news&p=$matches[1]',
  );
 
  return $event_list + $rules;
}

上記をfunction.phpに貼りつけたら、ダッシュボードでパーマリンク設定を変更します

ここめちゃくちゃ重要です。
ここを変更しないと、数字にはなりませんのでご注意くださいね!

ぜひみなさんもお試しくださいませ~