您可以筛选category_link
并在此处替换URL。我在下面的例子中使用了最新的帖子,因为第一个帖子也可能意味着最老的帖子,这听起来……很奇怪
add_filter( \'category_link\', \'wpse_96677_cat_link_to_first_post\', 10, 2 );
function wpse_96677_cat_link_to_first_post( $url, $term_id )
{
$term = get_term( $term_id, \'category\' );
// sub-terms only
if ( ! isset ( $term->parent ) or 0 == $term->parent )
return $url;
$post = get_posts(
array(
\'numberposts\' => 1,
\'category\' => $term_id
)
);
if ( ! $post )
return $url;
return get_permalink( $post[0]->ID );
}