diff --git a/functions.php b/functions.php index 0611074..c49802c 100644 --- a/functions.php +++ b/functions.php @@ -341,8 +341,8 @@ function kjweji_register_music() { 'edit_item' => '编辑聆韵', ), 'public' => true, - 'has_archive' => false, - 'rewrite' => array('slug' => 'music/%post_id%'), + 'has_archive' => true, + 'rewrite' => array('slug' => 'music'), 'show_in_rest' => true, 'supports' => array('title', 'editor', 'author', 'thumbnail'), 'menu_position' => 27, @@ -350,13 +350,6 @@ function kjweji_register_music() { )); } -add_filter('post_type_link', function($link, $post) { - if ($post->post_type === 'music' && $post->post_status === 'publish') { - return home_url(user_trailingslashit('/music/' . $post->ID . '/' . $post->post_name)); - } - return $link; -}, 11, 2); - add_action('init', function() { add_rewrite_rule('^music/([0-9]+)/([^/]+)/?$', 'index.php?post_type=music&p=$matches[1]', 'top'); }); @@ -507,3 +500,20 @@ add_filter('wp_insert_post_data', function($data) { } return $data; }); + + +// ── music single 路由 ── +add_filter('query_vars', function($vars) { + $vars[] = 'music'; + return $vars; +}); + +add_action('template_include', function($template) { + $music_id = get_query_var('music'); + if ($music_id) { + query_posts(array('post_type' => 'music', 'p' => intval($music_id))); + $music_template = get_template_directory() . '/single-music.php'; + if (file_exists($music_template)) return $music_template; + } + return $template; +}); diff --git a/page-music.php b/page-music.php index 171156e..6507c2e 100644 --- a/page-music.php +++ b/page-music.php @@ -18,7 +18,7 @@ $query = new WP_Query(array( have_posts()) : ?>
have_posts()) : $query->the_post(); ?> - +
get_the_title())); ?>