【WordPress】パーマリンクのスラッグが日本語で自動入力されるのを禁止にする方法
WordPressの機能として、パーマリンクを自分の任意の文字列に編集できるのはとても便利なのですが、記事タイトルを日本語で入力するとパーマリンクのスラッグが日本語になってしまいます。
URLに日本語文字が入ってしまうと、SNSでつぶやく時やメールにURLを記載する時などURLがとても長くなったり、最悪の場合URLが切れてしまいアクセスできないといったことが起こってしまいます。
そこで、記事作成時に自動で設定されてしまう日本語文字を英数字にカスタマイズする方法を紹介します。
パーマリンクのスラッグが日本語文字になってしまう理由
パーマリンクの設定は、「一般」→「パーマリンク」のページで自由に設定することができますが、その設定で「投稿名」と書かれている項目を選んで設定しまうと、記事タイトルが初期値として自動入力されてしまいます。
逆に「投稿名」以外の項目を選んでしまうと、スラッグを任意の文字に切り替えることができなくなってしまいます。
実際に記事を書いてみると、記事タイトル部分の入力値でスラッグが自動設定されてしまいます。
記事タイトルを「あいうえお」とすると、パーマリンクの入力値も「あいうえお」となります。
日本語文字をURLに含めたくない
そもそも日本語文字でも良いという方にとってはありがたい機能なのですが、日本語文字をURLに含めたくない人にとっては迷惑でしかありません。
というのも、日本語文字をURLに含めるとエンコードされた文字列に変換されてしまうので、URLが無駄に長くなってしまいます。
WEBブラウザのアドレスバーを見ると下記のように表示されます。
http://localhost/wp-test/あいうえお/
しかし、SNSやメールなどに書く際は下記のURLになります。
http://localhost/wp-test/%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A/
見ての通り、URLが長くなってしまいパッと見なんの文字かもわからなくなってしまいます。
パーマリンク設定で日本語文字を無効にできない
パーマリンク設定ページで日本語文字列をパーマリンクに設定できないようにするために、色々設定を試したのですが、そういったことはできないようです。
また、プラグインで日本語文字を英字に変換するプラグインがあったのですが、現在は動作しないためプラグインでも解決できないようです。
※正確には日本語文字を英字に翻訳してくれるMicrosoftの翻訳機能のサービスが終了したため動作しなくなった。
functions.phpでカスタマイズ
そこで最終手段として、利用中のテーマのfunctions.phpファイルにカスタムコードを記述することで今回の問題を解決することができます。
コメント
コメントを残す