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]