パーマリンクに日本語が使えないときの対処法

パーマリンクに日本語が使えないときの対処法

当サイトのパーマリンクは記事の日本語タイトルを使っています。

SEO的にどうたらとか意図はなく、ただただしっくりくるし、わかりやすいしで日本語タイトルに設定しています。

テーマによってはパーマネントリンクに日本語タイトルが使えないものもあったりで、その時の試行錯誤をまとめてみました。

設定してるのに反映されない

WordPress管理画面 > 設定 > パーマリンク設定

「投稿名」にしてるのに全然反映されません。

CSVで直接一括編集するとパーマネントリンクが「post-0-1」「post-0-2」「post-0-3」「post-0-4」…

となる始末。

ググってもドンピシャな答えが出てこず、諦めかけてたところ

原因がわかりました!!

function.php

WordPress管理画面 > 外観 > テーマの編集

選択ボタンをポチ!!

テーマファイルの中のfunction.phpを選択します

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 );

このコードは「投稿記事のスラッグは数字と英語にしてやるぜ」というもので、

日本語パーマリンクにしたい場合は迷わず、削除!!!

念のため、編集前のバックアップは忘れずに!!

まとめ

パーマリンクを日本語にするまとめいかがでしたでしょうか?

これで大概は日本語化できると思うのですが、反映されなかった場合はコメントなどいただけると有難いです。