Sponsored Link
カスタム投稿タイプの記事では投稿名が表示され拡張子がない状態がデフォルトですが、記事の拡張子に「html」を使用したい場合には以下のコードで対応できます。
Sponsored Link
functions.php
add_action('init', 'myposttype_news_rewrite');
function myposttype_news_rewrite() {
global $wp_rewrite;
$queryarg = 'post_type=news&p=';
$wp_rewrite->add_rewrite_tag('%news_id%', '([^/]+)',$queryarg);
$wp_rewrite->add_permastruct('news', '/news/%news_id%.html', false);
}
add_filter('post_type_link', 'myposttype_news_permalink', 1, 3);
function myposttype_news_permalink($post_link, $id = 0, $leavename) {
global $wp_rewrite;
$post = &get_post($id);
if ( is_wp_error( $post ) )
return $post;
$newlink = $wp_rewrite->get_extra_permastruct($post->post_type);
$newlink = str_replace('%'.$post->post_type.'_id%', $post->ID, $newlink);
$newlink = home_url(user_trailingslashit($newlink));
return $newlink;
}
以上をfunctions.phpにペースト。