WordPressカスタマイズ事例

カスタム投稿タイプの投稿スラッグ(URL)が日本語自動にならないようにする

WordPressでカスタム投稿タイプを使おうとするとき、何も指定しないと投稿のスラッグ(URL)がタイトルそのまま、つまり日本語のスラッグになってしまいます。
これじゃあ、海外のPCとかで見られたときにカッコ悪いですね。

‘カスタム投稿タイプ名’-‘投稿ID’
というスラッグになるようにしましょう。これなら半角英数なのでどこで見られても大丈夫ですね。

テーマのfunction.phpに以下を記述

function auto_post_slug( $slug, $post_ID, $post_status, $post_type ) {
    if ( preg_match( '/(%[0-9a-f]{2})+/', $slug ) ) {
        $slug = utf8_uri_encode( $post_type ) . '-' . $post_ID;
    }
    return $slug;
}
add_filter( 'wp_unique_post_slug', 'auto_post_slug', 10, 4  );

その他のWordPressカスタマイズ事例