カスタム投稿のパーマリンクを8桁揃えのポストIDにする

カテゴリー:WordPress

新年あけちゃいましたね、おめでとうございます!

早速本題、投稿、カスタム投稿を使うときに、
post_idを使いたいけど、投稿が増えていくにつれて桁数が変わるのってすごく嫌だったんです、
出来れば8桁ぐらいにそろえてあげたい!
って思ってるだけじゃだめだと思い書いてみましたw
これでどや!

このコードでどや!

以下のコードをfunctions.phpに追記してください!

//カスタム投稿のパーマリンクを8桁揃えのポストIDにする
function auto_post_slug($slug, $post_ID, $post_status, $post_type) {
	$nowPostId  = 1;
	$digit      = 8;	//0埋めする桁数
	$format     = '%0' .$digit. 'd';
	
	//カスタム投稿の場合は$post_idを0埋めしたものをslugにする
	if ($post_type != "post" && $post_type != "page" && $post_ID != $nowPostId) {
		$slug = sprintf($format, $post_ID);
		//パーマリンクを編集できないよう、ボタンを非表示に
		$stylesheet =
			'<style>'.PHP_EOL.
			'.post-type-'.$post_type.' #edit-slug-buttons {'.PHP_EOL.
			'	display:none;'.PHP_EOL.
			'}'.PHP_EOL.
			'</style>'
		;
		echo($stylesheet);
	}
	
	return $slug;
}
add_filter('wp_unique_post_slug', 'auto_post_slug', 10, 4);

今回の対象としてはカスタム投稿のみです、
7行目の
「$post_type != “post”」
を削ると投稿も同じように8桁ぞろえにすることができます!
注意点として、
必ずパーマリンクの設定を
「%postname%」にしてください!

あまりテストしてないのでおかしなところがあったら直してくださいw