WordPressのカテゴリーやタグを投稿画面で新規追加した場合、自動的に日本語が含まれたURLになる。
いわゆるスラッグ部分が、自動的に日本語になるという訳。
IDじゃないんだねえ。
日本語スラッグが嫌な人は、IDに書き換えるコードも紹介するよ。
スラッグが日本語でも問題ないけど
ある程度記事を公開した後なら、あまり気にせずに設定も変えないのが一番いい。
途中で下手にスラッグを書き換えると、URLが変わってしまうので記事がインターネット上で迷子になってしまう。
せっかく検索エンジンで以前のURLがインディクスされていても、「クリックしたらページが無い」なんてことになったら目も当てられない。
そのくらいなら、気にしないでおくのが一番。
投稿したばかりなら
タグやカテゴリーを投稿時に新しく追加して記事を公開したら、気になるようなら、ダッシュボードからタグの設定に入って、スラッグを英数字に変えておくのが良い。
タグの編集
1.〔ダッシュボード〕の〔投稿〕→〔タグ〕をクリック。
2.編集したいタグを見つける。
たくさんタグがあって見つけにくい時は、検索ボックスに編集したいタグを入力→〔タグを検索〕を押して検索する。
2.目当てのタグのところにマウスポインターを乗せると、編集などの項目が出てくるので〔編集〕をクリック。
3.スラッグを書き換える。
できればほかの項目も入力するとなお良し!
4.〔更新〕を押す。
初めから日本語スラッグにならないように設定する
毎回タグやカテゴリーを書き換えるのは面倒という人は、初めからコードを付け加えて、スラッグが日本語にならないようにする。
日本語スラッグを英語に翻訳するコードもあるようだがちょっと面倒。
IDにするなら、割と簡単にできる。
ちなみに手動で設定したスラッグや過去に設定したスラッグは書き換わらない。
カテゴリーの日本語スラッグだけを自動で【category-ID】に書き換える
以下のコードをfunctions.phpに書き加える。
/* ------------------------------------
カテゴリーの日本語スラッグを自動的に【post_tag-ID】に書き換える
------------------------------------*/add_action( 'create_category', '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 );
}
}
このコードでどんなふうになるかというと
実際のURLは
「https://wordpress.0hs.org/category/category-149/」
になる。
タグの日本語スラッグだけを自動的に【post_tag-ID】に書き換える
以下のコードをfunctions.phpに書き加える。
/* ------------------------------------
タグの日本語スラッグを自動的に【post_tag-ID】に書き換える
------------------------------------*/
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 );
}
}
実際のURLは
「https://wordpress.0hs.org/tag/post_tag-148/」
になる。
もちろん、コードはよそ様からの借り物。
タグ・カテゴリーともIDをスラッグにしたい
タグ・カテゴリーともIDをスラッグにしたい場合は以下のコードをfunctions.phpに書き加える。
タグ・カテゴリーともIDをスラッグにしたい場合は下のコードだよ。
子テーマのfunctions.phpに書き加えてね。
/* ------------------------------------
タグ・カテゴリーの日本語スラッグを自動的に【post_tag-ID】に書き換える
------------------------------------*/
add_action( 'create_category', 'post_taxonomy_auto_slug', 10 );
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 );
}
}
タグ・カテゴリー・カスタムタクソノミーともIDをスラッグにしたい
タグ・カテゴリー・カスタムタクソノミーともIDをスラッグにしたい場合はこちらのコードだよ。子テーマのfunctions.phpに書き加えてね。
/* ------------------------------------
タグ・カテゴリー・カスタムタクソノミーの日本語スラッグを自動的に【post_tag-ID】に書き換える
------------------------------------*/
add_action( 'create_category', 'post_taxonomy_auto_slug', 10 );
add_action( 'create_post_tag', 'post_taxonomy_auto_slug', 10 );
add_action( 'create_カスタムタクソノミー名', '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 );
}
}
コメント