投稿のスラッグを日本語から英字に自動で変更する方法

Cocoonカスタマイズ集
この記事は約1分で読めます。
記事内に広告が含まれています。

Cocoonには、標準機能として備わっています。

はじめに

WordPressのスラッグは標準、投稿タイトルが反映されます。
日本語の2バイト文字はURLエンコードされるため、見た目が長くなったり、SEOやSNS共有時に望ましくない表記になることがあります。

そこで、スラッグに日本語が含まれる場合、「post-投稿ID」の形式に自動変更します。

この記事では、この方法について説明します。

実装手順

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

add_filter('wp_unique_post_slug', function ($slug, $post_id, $post_status, $post_type) {
  if (preg_match('/(%[0-9a-f]{2})+/i', $slug) && ($post_type === 'post' || $post_type === 'page')) {
    $slug = $post_type . '-' . $post_id;
  }

  return $slug;
}, 10, 4);

さいごに

今回紹介した方法を使えば、日本語タイトルの投稿でも自動で短くわかりやすいスラッグに変更でき、SEOやSNS共有時の問題を回避できます。

タイトルとURLをコピーしました