我有以下permalink结构/%category%/blog/%postname%/.
我还在/博客上有一个存档,其中列出了所有博客帖子。
我有一个特定的类别,我希望permalink结构是/blog/%postname%/
这是我尝试过的代码:
add_filter( \'post_link\', \'custom_permalink\', 10, 3 );
function custom_permalink( $permalink, $post, $leavename ) {
$category = get_the_category($post->ID);
if ( !empty($category) && $category[0]->cat_name == "hello" ) {
$permalink = trailingslashit( home_url(\'/blog/\'. $post->post_name
.\'/\' ) );
}
return $permalink;
}
第一部分工作正常,将类别为“hello”的帖子的url更改为
https://example/blog/post-name - 在下一部分中,我将尝试为这个url创建一个指向实际帖子的重定向。
add_action(\'generate_rewrite_rules\', \'custom_rewrite_rules\');
function custom_rewrite_rules( $wp_rewrite ) {
$feed_rules = array(
\'^blog/?\' => \'index.php?name=$matches[1]\',
);
$wp_rewrite->rules = $feed_rules + $wp_rewrite->rules;
return $wp_rewrite->rules;;
}
这也可以将url重定向到
https://example/blog/post-name但是这个url不是显示一篇文章,而是显示我的博客存档,因此呈现方式本质上与-
https://example/blog/我的问题-为什么是https://example/blog/post-name 显示与相同https://example/blog/ 而不是展示帖子?