Blogブログ

Day: July 26, 2013

wordpressでカスタム投稿タイプの記事に.htmlの拡張子をつける。

まずまずの頻度である「記事に.hmltをつけたい!」という要望。 投稿だけを使うならパーマリンク設定でOK!だが、カスタム投稿タイプの場合は出来ない。 便利なプラグインもあるのだが、 http://wordpress.org/plugins/custom-post-type-permalinks/ テーマに組み込めないか調べてみたところ、こんな記事を見つけられたのでメモ。 http://wordpress.stackexchange.com/questions/59024/add-html-dot-html-extension-to-custom-post-types 1. rewrite_rules_array フィルターにcustom post type分のrewrite ruleを追加。 add_action('rewrite_rules_array', 'rewrite_rules'); function rewrite_rules($rules) { $new_rules = array(); foreach (get_post_types() as $t) $new_rules[$t . ‘/(.+?)\.html$’] = ‘index.php?post_type=’ . $t . ‘&name=$matches[1]'; return $new_rules + $rules; } 2. custom post type でのURLフォーマットを指定。 post_type_linkフィルターを利用。 add_filter('post_type_link', 'custom_post_permalink'); // for cpt post_type_link (rather than post_link) function custom_post_permalink ($post_link) […]