記事内に広告が含まれています。

WordPressのカテゴリーやタグのURLは基本的に日本語になる

カテゴリーをID表示にするコードを書き加えた-WordPress wordpressでブログを作ろう
カテゴリーをID表示にするコードを書き加えた-WordPress

 WordPressのカテゴリーやタグを投稿画面で新規追加した場合、自動的に日本語が含まれたURLになる。

 いわゆるスラッグ部分が、自動的に日本語になるという訳。

 IDじゃないんだねえ。

 日本語スラッグが嫌な人は、IDに書き換えるコードも紹介するよ。

広告

スラッグが日本語でも問題ないけど

 ある程度記事を公開した後なら、あまり気にせずに設定も変えないのが一番いい。

 途中で下手にスラッグを書き換えると、URLが変わってしまうので記事がインターネット上で迷子になってしまう。

 せっかく検索エンジンで以前のURLがインディクスされていても、「クリックしたらページが無い」なんてことになったら目も当てられない。

 そのくらいなら、気にしないでおくのが一番。

広告

投稿したばかりなら

 タグやカテゴリーを投稿時に新しく追加して記事を公開したら、気になるようなら、ダッシュボードからタグの設定に入って、スラッグを英数字に変えておくのが良い。

タグの編集

1.〔ダッシュボード〕の〔投稿〕→〔タグ〕をクリック。

タグの編集-WordPress

タグの編集-WordPress

2.編集したいタグを見つける。

 たくさんタグがあって見つけにくい時は、検索ボックスに編集したいタグを入力→〔タグを検索〕を押して検索する。

タグの検索-WordPress

タグの検索-WordPress

2.目当てのタグのところにマウスポインターを乗せると、編集などの項目が出てくるので〔編集〕をクリック。

目当てのタグを見つけ編集をクリック-タグの編集-WordPress

目当てのタグを見つけ編集をクリック-タグの編集-WordPress

3.スラッグを書き換える。

スラッグを書き換える-タグの編集-WordPress

スラッグを書き換える-タグの編集-WordPress

 できればほかの項目も入力するとなお良し!

4.〔更新〕を押す。

初めから日本語スラッグにならないように設定する

 毎回タグやカテゴリーを書き換えるのは面倒という人は、初めからコードを付け加えて、スラッグが日本語にならないようにする。

 日本語スラッグを英語に翻訳するコードもあるようだがちょっと面倒。

 IDにするなら、割と簡単にできる。

K
K

 ちなみに手動で設定したスラッグや過去に設定したスラッグは書き換わらない。

カテゴリーの日本語スラッグだけを自動で【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 );
}
}

 このコードでどんなふうになるかというと

カテゴリーをID表示にするコードを書き加えた-WordPress

カテゴリーをID表示にするコードを書き加えた-WordPress

 実際の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 );
}
}
タグのスラッグをIDにするコードを書き加えた-WordPress

タグのスラッグをIDにするコードを書き加えた-WordPress

 実際のURLは

「https://wordpress.0hs.org/tag/post_tag-148/」

 になる。

K
K

もちろん、コードはよそ様からの借り物。

元のコードを知りたい人は下のサイトで見てね。
タグ・カテゴリーともIDをスラッグにしたい場合は2つのコードを別々に書き込むとエラーになる。
タグ・カテゴリー・カスタムタクソノミーをスラッグをIDにする場合は、次以降のコードを使う。

タグ・カテゴリーともIDをスラッグにしたい

 タグ・カテゴリーともIDをスラッグにしたい場合は以下のコードをfunctions.phpに書き加える。

K
K

タグ・カテゴリーとも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をスラッグにしたい

K
K

タグ・カテゴリー・カスタムタクソノミーとも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 );
}
}

コメント

タイトルとURLをコピーしました