
記事を投稿する際に、タグを入力すると思いますが、今まで登録していたタグとは別の新しいタグを使う場合があります。
通常投稿ページで新規タグを作ると、スラッグが勝手に日本語になってしまいますが、それを英語のスラッグに自動で変換する方法を解説します。
いちいちスラッグを直すのは面倒ですからね。
自動で変換する方法
管理画面左の「外観」から「テーマエディター」を選択。右側にあるテーマファイルの下のある「テーマのための関数(functions.php)をクリック。
問題はないとは思いますが、「編集するテーマを選択」のところで子テーマを編集してるかどうか確認してください。おそらくCHILDという表記になってると思います。

親テーマを編集すると、アップデートの際にカスタムした部分が更新されてしまいますので、子テーマを編集するようにして下さい。
そしてこのfunctions.phpに以下のコードをコピペします。
add_action( 'create_post_tag', 'post_taxonomy_auto_slug', 10 );
function post_taxonomy_auto_slug( $term_id ) {
$tax = str_replace( 'create_', '', current_filter() );
$term = get_term( $term_id, $tax );
if ( preg_match( '/(%[0-9a-f]{2})+/', $term->slug ) ) {
$args = array(
'slug' => $term->taxonomy . '-' . $term->term_id
);
wp_update_term( $term_id, $tax, $args );
}
}
入力したら「ファイルの更新」をクリック。ファイルの編集に成功しましたという表記が出てくれば成功になります。
functions.phpはWordPressでも非常に大事な部分。下手に変にいじると、エラーが発生してサイトが見れないという場合も。編集の際は慎重にお願いします。
では実際にどうなっているのか?投稿画面でタグを入力するとこんな感じに変換されます。

先程入力したコードの一番上に書いてある文言に変換されました。ちなみにカテゴリ名なども最初の一行を変える事で自動で変換するようにできます。
add_action( ‘create_category’, ‘post_taxonomy_auto_slug’, 10 );
これでカテゴリの変更も可能に。いちいち日本語スラッグを変換するのはめんどくさかったので、もし気になっている方は試してみてください。
関連記事

コメント