僕がメンテしてるプラグインに Custom Post Type Permalinks ってのがありまして。
もともとこのプラグイン、WordPress 自動で投稿のスラッグがタイトルから生成される機能あるんですが、「日本語で記事を書くと日本語でスラッグが設定されてちょっと面倒くさい」みたいな問題を、パーマリンクを自由に設定出来ないカスタム投稿タイプでもなんとかしたいなーみたいな動機で生まれたモノです。
ただ、URL に投稿IDを設定すると、WordPress から 別の CMS とかではもちろん、WordPress から WordPress への記事のインポートなどでも URL が変わってしまいます。この挙動はちょっと問題あるなと思っていました。また、このプラグインを作成した頃からだいぶ時が経ち、日本語が含まれた URL でもそこまで不便しないなとは思っています。まぁ、そうはいっても URLエンコードされない URL にしておきたいニーズがあるのもわかるなーと思いつつモヤモヤしてました。
投稿 ID を URL に含めない形でクリーンなURLが生成されてほしいなーと思って何年も経った今日この頃、WordPress 7.0 で AI Client が搭載されることになりました。
これを用いて、投稿のタイトルからスラッグを生成するのは筋が良さそうだなと思い、突貫でプラグインをこさえてみました。Slug Automator という名前で WP.org にリリースしてあります。
Slug Automator プラグインの提供する機能
以下の2つの機能を提供します。WordPress 7.0 以上対応なので、6.9 等では有効化できません。RC版や、ローカルの開発環境などで試してみてください。また、AI コネクタでの API Key が必要です。Google / Anthropic / OpenAI のどれでも動作します。
記事公開時にスラッグが未設定の場合、投稿のタイトルからスラッグを自動的に生成
記事公開時にスラッグが未設定であれば自動的にスラッグを生成します。すでにスラッグが設定されている場合は何もしません。
記事の投稿画面にて、スラッグの生成/再生成を行う機能

投稿設定のところに、「Generate Slug」というボタンがあるので、これをクリックするとスラッグの生成を行います。既存の記事のスラッグを変更したい場合、下書き時にスラッグを生成させて確認したい場合などはこの機能を用いてください。手動で生成させた場合は既存のスラッグを上書きします。
タイトルからスラッグを生成するだけのシンプルな機能なので、Google AI Studio の無料枠とかでもそれなりにちゃんと機能するかなという感じです。
Github: https://github.com/torounit/slug-automator
フィードバックなどお待ちしてますー。

