[WordPress] URIの末尾にスラッシュ”/”を追加する方法 (functions.php)

WordPress で生成される URI は基本的に末尾にはスラッシュは付いていません。
実現できるプラグインは沢山あるようですが、functions.phpに追加した方が色々と良いです。

デフォルトのURI

アーカイブ(カテゴリ・タグ)ページなどのURIの末尾は、以下のような URI になっています。

https://b.0218.jp/2014/04
https://b.0218.jp/category/wordpress
https://b.0218.jp/tag/wordpress

以下のように URI の末尾にスラッシュを付けたいと思います。

https://b.0218.jp/2014/04/

functions.php に追加するコード

以下の様なコードをfunctions.phpに追加します。

function add_slash_uri_end($uri, $type) {
  if ($type != 'single') {
    $uri = trailingslashit($uri);
  }
  return $uri;
}
add_filter('user_trailingslashit', 'add_slash_uri_end', 10, 2);

2行目で個別記事を除外します。これで、パーマリンク設定をカスタム構造が「○○.html」などの場合、「http://host/○○.html/」みたいに不格好になってしまうことを防ぐことが出来ます。
trailingslashit関数内でuntrailingslashit関数を使って末尾のスラッシュや空白文字が取り除くようです。そのため、末尾がスラッシュで終わっている場合であっても以下のようにスラッシュ重複されない。

https://b.0218.jp/2014/04//