現在ドットワンで制作させていただいているウェブサイトはすべてwordpressを利用しています。
ウェブサイトはなんといっても更新が大事で、SEOや見栄えの観点からもクライアントさんに納品後スラッグを英語に変更して公開するようお願いしてるのですが、忘れられてしまうことがほとんどです。
途中からURL変更するのもよくないので、初期設定で英語にしてしまうことにしました。
スラッグ名が日本語だったら、自動的に「投稿タイプ+id」に変更
もちろんスラッグを自身で設定した場合は適用されません。また、管理画面>設定>パーマリンク設定をpostnameやpost_id等に設定している場合に限ります。
自動的に「投稿タイプ+id」に変更するコード
下記コードをfunction.phpに追加してみましょう。
01020304050607080910/*
* スラッグ名が日本語だったら自動的に投稿タイプ+id付与へ変更(スラッグを設定した場合は適用しない)
*/
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 );
動作
初期のまま

上記コードを追加

自分でslugを入力した場合

いかがでしょう。簡単ですね。
SNSなどに自動投稿している場合は、日本語スラッグですと呪文のようになってしまうので、ミス防止のためにも設定しておいたほうが良いと思います。