これでもう投稿のたびにスラッグを考えなくてもいい
投稿のスラッグを、初回のみpost_IDから自動生成する方法
「設定 - パーマリンク」のカスタム構造で %postname% を使用して下さい。(/%postname%/ や /%category%/%postname%/ など)
設定が終わったら「変更を保存」をクリックするのを忘れないように。
そして functions.php に下記を追記
if (!function_exists('slug_auto_setting')) :
function slug_auto_setting($slug, $post_ID, $post_status, $post_type)
{
// 記事IDからを記事情報を取得
$post = get_post($post_ID);
// 初回の投稿保存時にのみ、投稿のslug = 接頭辞 + 投稿のIDに設定
if ($post_type == 'post' && $post->post_date_gmt == '0000-00-00 00:00:00') {
$prefix = 'p'; // 接頭辞
$slug = $prefix . $post_ID;
}
return $slug;
}
add_filter('wp_unique_post_slug', 'slug_auto_setting', 10, 4);
endif;
%postname% を使用した場合、スラッグには数字以外を含める必要があるので、必ず 9行目の $prefix = '英文字'; で好きな接頭辞を付けて下さい。
英文字以外にも -(ハイフン)や _(アンダーバー)が使えます。
これで初回のみ、投稿のスラッグが自動生成されます。(初回は手動変更不可)
また、更新時には手動でスラッグを変更する事も出来ます。その場合もスラッグを数字のみにしないよう気を付けて下さい。(a123 や 12a3, 123a などは OK)
関連記事
参考にしたサイト
コメントを残す