プラグン導入でできるもの
固定ページに「.html」や「.php」の拡張子を付ける
WordPress › .html on PAGES « WordPress Pluginsプラグインを導入するだけで、固定ページに.htmlとつきます。
.htmや.phpにしたいばあいは、プラグインのソースを書き換える必要があります。ただし、ソースは短いので見ればだいたいわかります。
カテゴリ、ページなどの末尾に「/」をつける
WordPress › Nice Trailingslashit « WordPress Pluginsこれもプラグインの中身は短いので、必要に応じて変更すればよいかと思います。
カテゴリのURLから「/category/」を省く
WordPress › WP No Category Base - WPML compatible « WordPress Plugins参考:【WordPress】URLから「category」という文字を削除するプラグインは、どれを選べばよいか?
タグのURLから「/tag/」を省く
WordPress › WP-No-Tag-Base « WordPress Plugins自前でコードを書く方法
地雷を踏みやすいので、自信のない人はやらないほうが良いです。add_filter( 'post_link', 'remove_parent_cats_from_link', 10, 3 );
function remove_parent_cats_from_link( $permalink, $post, $leavename )
{
$cats = get_the_category( $post->ID );
if ( $cats ) {
// Make sure we use the same start cat as the permalink generator
usort( $cats, '_usort_terms_by_ID' ); // order by ID
$category = $cats[0]->slug;
if ( $parent = $cats[0]->parent ) {
// If there are parent categories, collect them and replace them in the link
$parentcats = get_category_parents( $parent, false, '/', true );
// str_replace() is not the best solution if you can have duplicates:
// myexamplesite.com/luxemburg/luxemburg/ will be stripped down to myexamplesite.com/
// But if you don't expect that, it should work
$permalink = str_replace( $parentcats, '', $permalink );
}
}
return $permalink;
}
・Filtering categories in the permalink structure - WordPress Development Stack Exchangeたとえば、post_linkをフックして、無理やり書き換えてしまう方法ですね。
その他の情報
パーマリンク設定で、3階層目までに %post_id% が含まれていた場合、年月アーカイブには、date が入るようになっています。これは、年月アーカイブと投稿のURLが競合してしまう可能性を除外するためのものです。
WordPress › フォーラム » urlに「date」が入ってしまう
スポンサーリンク
コメントを残す