Вы можете попробовать этот код. Замените CPT в массиве своим именем CPT.
Эта функция преобразует следующий URL
http://example.net/CPT/2016/06
до
http://example.net/?post_type=CPT&m=201606
, который фактически используется WordPress.
add_action('init', 'date_cpt_rewrites');
function date_cpt_rewrites() {
$custom_post_types = array('CPT'); //some example post types
foreach ( $custom_post_types as $post_type ) {
$rule = '^' . $post_type . '/(\d+)/(\d+)/?$';
$rewrite = 'index.php?post_type=' . $post_type . '&m=$matches[1]$matches[2]';
add_rewrite_rule($rule,$rewrite,'top');
}
}