WordPressでカテゴリページを強化したい場合があります。通常、カテゴリページへアクセスすると、URLが「ドメイン/category/スラッグ」で、そのカテゴリの記事一覧がされます。
この記事では、次のことを行います。
- URL「ドメイン/category/スラッグ」→「ドメイン/スラッグ」に変更
- 「ドメイン/スラッグ」で表示するコンテンツを固定ページにする
【変更前】

【変更後】

カテゴリページに固定ページを設定する方法
前提:私の環境
パーマリンク:/%category%/%post_id%/
※環境によって想定どおりに動かない場合があります。自己責任でお願いします。
ステップ1:fuction.phpに追記
通常カテゴリページは「https://ドメイン/category/スラッグ」というURL構造になっていますが、「/category」を削除するphpコードをfunction.phpに書き入れます。
add_filter('user_trailingslashit', 'remcat_function');
function remcat_function($link) {
return str_replace("/category/", "/", $link);
}
add_action('init', 'remcat_flush_rules');
function remcat_flush_rules() {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
add_filter('generate_rewrite_rules', 'remcat_rewrite');
function remcat_rewrite($wp_rewrite) {
$new_rules = array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2));
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
ステップ2:カテゴリのスラッグと同じスラッグの固定ページを作成
カテゴリのスラッグ:monetize

固定ページのスラッグ:monetize

設定は以上です。注意点として、「No Category Base (WPML)」など、「/category」を削除するプラグインを停止にしないと、上記がうまく動かない場合があります。
[su_note note_color="#00BFFF" text_color="#ffffff"]
人気の記事
Google検索の変遷から見えてくる「Googleがキュレーション化する日」
[/su_note]
Google検索の変遷から見えてくる「Googleがキュレーション化する日」
[/su_note]
