前提・実現したいこと
URLの不要なtagディレクトリを省略したい
http://localhost:8080/article_tag/xxx-tag/
上記を
http://localhost:8080/xxx-tag/
に省略したいです
ちなみに
http://localhost:8080/article_category/xxx-category/
というページがあるのですが、こちらは No category base というプラグインを利用し
http://localhost:8080/xxx-category/
に省略ができました。
パーマリンク カスタム構造
http://localhost:8080 /article_%post_id%/
になります。
試したこと
function.phpに
//URLの文字列を置換する function tag_name_url_hidden_function($link) { return str_replace("/article_tag/", "/", $link); } add_filter('user_trailingslashit', 'tag_name_url_hidden_function'); //リライトルールを再生成してデータベースに保存 function tag_name_url_hidden_rules() { global $wp_rewrite; $wp_rewrite->flush_rules(); } add_action('init', 'tag_name_url_hidden_rules'); //新しいリライトルールを設定する function tag_name_url_hidden_rewrite($wp_rewrite) { $new_rules = array('(.+)/page/(.+)/?' => 'index.php?article_tag_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2)); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_filter('generate_rewrite_rules', 'tag_name_url_hidden_rewrite');
を記述し、パーマリンク設定より、変更を更新しました。タグのページを開くと
確かに、URLは省略されていましたが、404エラーが出てしまします。
他に良いやり方がありますでしょか?
あなたの回答
tips
プレビュー