大阪府豊中市でホームページ制作|スマートフォンアプリ開発を行なっているImpreateSoft(インプレイトソフト)です。
WordPressでパーマリンク設定を“%postname%”などにしていると、日本語のURLになってしまうことがあります。
日本語のURLですと、SNSでシェアするときに“%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%86%E3%82%B9%E3%83%88”のような感じで謎の文字列になってしまいます。
このように長い文字列になると、TwitterやFacebookでシェアするときに文字列の制限がかかったりして、シェアがやりにくくなります。
そのため、今回はパーマリンク設定が“%postname%”のときでも、日本語URLを使わないようにする方法を紹介します。
functions.phpにコードを追記
やり方はfunctions.php内に下記コードを追記することで可能になります。
※functions.phpはWordPress内で重要なコードになりますので、失敗すると動かなくなったりする危険があります。必ずバックアップを取ってから作業してください。
追記するソースコード
追記するコードは下記です。
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 );
上記のコードをfunctions.php内に記述すると、日本語URLが自動的にID番号に割り振られるようになります。
このように日本語URLをIDに変換してくれることによって、誤って日本語URLのまま投稿することを未然に防ぐことができます。
また、独自のURLを記入したいときは今までどおりスラッグから変更することで、独自のURLを記入できます。
日本語URLを使いたくない場合は、上記のコードを導入してみてください。